Ask Klaus!


Klaus Knopper is the creator of Knoppix and co-founder of the LinuxTag expo. He currently works as a teacher, programmer, and consultant. If you have a configuration problem, or if you just want to learn more about how Linux works, send your questions to: klaus@linux-magazine.com.

No DVD Boot

Question:

Regarding the "No DVD Boot" problem in Linux Magazine, issue #64 / March 2006, p50, where the BIOS would boot from CD but not DVD, you might find a simple answer is to make the DVD player the master and the CD the slave on the relevant controller. I had the same problem. I could boot from CD but not DVD until I switched controller connectors, and now I can boot from DVD (but not the CD).

Answer:

Thanks for your input! You're right; some boards need a bootable IDE/ATA-device as the master; otherwise, they just ignore the device until the operating system loads a driver for it. I have something to add, too, from a recent case where Knoppix (and other Live CDs) would show the bootscreen, but as soon as the kernel and ramdisk were loaded, the DVD drive magically disappeared, causing an error message that the file system could not be found - on the same device where the kernel and initrd were previously loaded without problems. The reason was a missing master drive on that IDE port, and the DVD drive was a sentinel slave. Rejumpering the drive to be the master at this port fixed the problem. What amazes me most in the case of a wrongly jumpered DVD drive is the fact that when no driver is loaded (i.e., when the BIOS is used to transfer data from the drive), everything worked, until the system switched to protected mode and the correct driver for the controller was loaded, and then the drive disappeared. Makes you wonder about hardware and BIOS design.

No Connection

Question:

I recently bought an IBM R50e laptop without an operating system in order to learn how to install and use Linux.

I have installed Ubuntu 5.10, and almost everything works well, except that I cannot connect to the Internet or send and receive email. I have a Knoppix 4.0 live DVD that works well for everything but the Internet and email. I start the system with Knoppix vga=792 keyboard=us toram.

I have tried this on my desktop as well, with the same lack of success. It would be nice if keyboard=uk were available, I find the US keyboard usable, but the German keyboard is very difficult for me, even though I speak some German. I have a broadband wireless router; I can ping my other computers, and also I can ping www.knopper.net and my ISP at www.tiscali.co.uk. I have dual booted my desktop computer with Suse 10.0, since this is the only distribution I have tried that works on my two-monitor setup.

I wasted several weeks failing to compile a C++ program, because I thought (from reading the GCC documentation) that the file extension .cpp made GCC think it was getting C++; eventually I found the command is g++. I realize there is a huge lack of relevant information here, but I hope you may be able to point me in the right direction.

Answer:

Good luck with your new laptop. Your letter actual contains several different questions. I'll start with the easiest one: Boot Knoppix with

knoppix lang=uk

which sets the keyboard=uk kdekeyboard=uk option automatically.

The man pages of Linux commands are not always 100% accurate, especially for new options or distribution differences. Sometimes, compiling a C++ program with GCC works fine; sometimes it doesn't, especially when you require certain levels of compatibility in header files and libraries. I would go with g++ for C++-Programs, but GCC should recognize the .cpp and .c extensions as well, unless the GCC frontend version does not match the version of the corresponding g++.

For your dual-monitor setup, if Suse works, you may be able to adapt options from /etc/X11/xorg.conf or /etc/X11/XF86Config.conf to your other installation.

Now for your Internet connection. If you can ping other computers, even by name, everything should be OK. But then, maybe you meant you are trying this from your other operating system, and it did not work under Suse or Knoppix. In this case, please write down all the settings that did work and transfer them to your GNU/Linux installation, for instance:

You could use kwifimanager and quite a few clicks, or just type

iwconfig wlan0 essid your_essidkey your_wep_key_in_hexadecimalpump -i wlan0

If you do not use encryption at WLAN level, skip the key ... option and just set the essid.

If iwconfig without parameters shows no wireless cards, then your card is not yet supported by Linux, or there is no driver installed for it.

Kernel Panic

Question:

Your articles are always interesting reading, and especially the question on kernel panic in the March 2006 issue. I put a new Dual core AMD system together and tried to install Suse Linux Professional 9.3 onto it. I was actually able to install the OS quite happily next to a Windows installation, but it will not boot. A boot of Linux (Suse in this case) causes a kernel panic. The console shuts up, and the last legible piece of information is "killing interrupt handler!"

So, when I read your article, I thought I would try all the boot options you mentioned. Even the one that works the best for you: acpi=off noapic pci=bios pnpbios=off doesn't make a difference; the result is still no boot and a kernel panic. I have tried to reinstall the entire OS, but I still get the same result.

I found a way to boot the system through the installation options of the CD, which then shows a problem with the builtin NIC. (I can't bring up the eth0 interface.)

I have gone through all sorts of well intended (but sometime longwinded) information on the web, but I still haven't found a solution. It seems to me that the problem has to do with the IRQ settings of all the devices in the machine.

Have you any more hints for me?

P.S. I am going to try to boot a Knoppix CD and see if that boots properly.

Answer:

Knoppix probably won't boot either, if it's with the same kernel and hardware.

It looks to me like a problem with either wrongly set IRQs in the BIOS, or a partly supported hardware component that creates interrupts, but without a callback function for the interrupt that would pick up data or operate the device. This sometimes happens with very new SATA controllers or on-board network cards with bad firmware.

The easy solution is to use a kernel that is about half a year newer than the board. Usually, missing hardware support is fixed by then, either by an improved driver, or a workaround for known hardware bugs. Sometimes a BIOS update comes out that will solve the problem.

But there is a slight chance that kernel parameters will really help, if not by fixing the interrupt problem, then at least by turning off the part of the hardware that causes system instabilities. You could, for example, try the irqpoll boot option, which is a workaround for cases in which interrupts are running amok.

General kernel options like this are partly documented in the kernel source documentation at /usr/src/linux/Documentation/kernel-parameters.txt:

irqpoll         [HW]
  When an interrupt is not handled, search all handlers for it. Also check all handlers of each timer interrupt. Intended to get systems with badly broken firmware running.

...which sounds like it could be the solution of your problem.

Lightning

Question:

I have a Suse Linux 10.0 system. I had a failure but was able to reinstall without losing much data. But now the system refuses to connect to the Internet. Perhaps the problem is that my DSL modem and router were hit by lightning. I had them replaced, but they were not available when I first reinstalled. When I could not get to the Internet, I reinstalled again, but I am still unable to get connected. When I was just read your fine column, I thought what a fine article it would make to tell how to troubleshoot a non-working connection.

Answer:

Without a precise error message, it's not easy to tell. Have a look into the files /var/log/syslog, /var/log/messages, /var/log/auth.log, and /var/log/daemon.log. If one of them does not exist, don't worry; different distributions name these files differently. If there is a problem with authentication or your configuration, you will notice error messages in these files that tell you what happened. Also, in case of a hardware problem (i.e., a defective modem or no signal), try the dmesg command.

I do not know your type of DSL connection, but especially in cases of lightning damage, the socket of the cable (outside your house) could be jammed, and in this case, someone from your cable carrier would have to reset the socket in order for you to be able to connect again.

The problem may also be caused by the fact that you reinstalled the drivers without having the actual hardware device present at that time. So the authentication part may be correct, but there is no device file associated with the initialzing procedure, and you have a dummy modem instead. A reinstallation including hardware detection should help to fix this.

In the easiest case, maybe you just have forgotten to add the name server of your Internet provider, and you have no "autodns" option set. So, you actually could connect, just your computer does not know how to translate a name like www.linux-magazine.com into an IP address, and therefore you get an error message. Check /etc/resolv.conf, after connecting, for a nameserver line.

"Without a precise error message, it isn't easy to tell."

SATA Problems

Question:

I read your article about SATA problems and boot parameters in Linux Magazine, issue #64, March 2006, p52, and I found it very interesting.

I have a HP Compaq P4 PC with a SATA controller. I'm using Red Hat 7.3 under VMware in Windows, and I've chosen a SCSI Virtual drive. (If I choose an IDE virtual drive, my virtual machine boots normally without problems.)

With a SCSI virtual disk, as is my case, I am not able to boot. The RAID controller module fails to load.

I've been spending some time on the problem and can't figure out a solution. Maybe a kernel upgrade? Or moving to RHEL4?

I know you probably are overwhelmed in work, and I know that I may be taking your time with a beginner-level problem. Anyway, I would be very grateful if you could give me some help.

I enclose a figure with the details of the booting problems.

Answer:

When reading this first question, I was a little confused at first by the fact that a RAID module fails to load, since you said you configured VMware to emulate a SCSI controller. But the boot screenshot picture that you sent was indeed helpful (Figure 1). The figure shows that this installation is using the dpt_i2o driver module, and after some research, I found out that, in this version, a failure to load dpt_i2o is probably just the result of a broken or older kernel module in your linux distro.

Figure 1: I enclose a figure with the details of the booting problem...

This problem is not directly related to the VMware SCSI emulation. So to summarize, the kernel on your distro does not work with the VMware-emulated SCSI+Raid-Controller. The fact that your host system is using a SATA controller is not a problem.

Unfortunately, the solution to a simply non-working kernel module is not as easy as just replacing an application software package.

In theory, the best way to solve this problem permanently would be to replace the defective module in the initial ramdisk of your harddisk installation with a working module. In order to replace this defective module with a better equivalent, you would have to find a newer kernel with a version of the module that works better and update kernel and initrd accordingly, or use a different module for the same device, which would be i2o_block in kernel 2.6 (with different device names for /etc/fstab entries). Of course, the real challenge is changing a kernel component in RedHat or Fedora and keeping the rest of the system in working condition, but that is a different story...

Your own recommendation of trying a newer kernel (or better yet, trying a newer version of your favorite distribution) is what I would also recommend - at least, if you depend on a special feature of the VMware-emulated SCSI controller and can't go with the working IDE emulation.

The chances are that the non-working module that has been causing you all the headaches has been fixed or replaced in the latest update. If you are lucky, you can maybe get an online kernel update for the installed version, which is easier than building a new kernel by yourself.