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

Wireless

Question:

I am new to Linux and have just downloaded and installed SUSE 10.3 and I use KDE. I use an Acer Aspire 3003 WLMI, which is approximately 2.5 years old.

The wired connection works fine, but the wireless does not. I've attached the dmesg output. I have tried to run ndiswrapper and get a message "command not known," yet in YaST it is ticked!

The graphics drivers do not support 3D. The SIS 660 driver is loaded, but the chipset is SIS 760, which does not appear to have an available Linux driver.

Can you help with these issues and recommend a good source for overview information?

Answer:

The dmesg output you sent shows that your Linux kernel supports the wireless card with the bcm43xx module, but you don't have the firmware installed that's necessary to put this card into operation. The relevant snippet of the dmesg output is:

bcm43xx: PHY connected
bcm43xx: Error: Microcode "bcm43xx_microcode5.fw" not available or load failed.
bcm43xx: core_up for active 802.11 core failed (-2)

A weird effect of this that you might have noticed when trying to make the card work is that the card still appears in the iwconfig command's output (or in graphical network administration GUIs), but any action associated with the card fails because it does not respond to any configuration attempts.

Many distributions have recently given up distributing binary-only firmware for various cards, including wifi and scanners, because of sometimes "non-distributable" or unclear licenses set forth by the manufacturers of such hardware, even though you as the legal owner of this wifi card have the personal right to use the card together with the corresponding firmware.

However, you have two ways to get the firmware. One is to extract it from the same or a similar card that has been previously initialized with the firmware - as long as the computer has not been switched off in the meantime - with the use of bcm43xx-fwcutter to save the firmware file. The second is to try to find a place on the Internet where the firmware is offered in the correct format (i.e., in this case, search for a file called bcm43xx_microcode5.fw). Be careful to double-check its origin because someone might find it funny to publish a manipulated file that breaks your hardware. The best place to check would be the manufacturer's homepage, or ask their support team to send you the file required to run their hardware on Linux.

The firmware file should be placed (depending on your distro) into directory /lib/firmware or /usr/lib/hotplug/firmware. No kernel recompilation is needed. Reloading the bcm43xx module with

rmmod bcm43xx
modprobe bcm43xx

should be sufficient.

Regarding your second question about the graphics card: You will probably get the best and fastest working mode with the Xorg sis driver. If it's not included in your distribution's main Xorg package already, you need the xserver-xorg-video-sis package. Also check for a section in /etc/X11/xorg.conf that says:

Section "Device"
 Identifier "My Video Card"
 Driver "sis"
 ...
EndSection

Unfortunately, the Composite extension does not seem to be available for this card type, so you won't be able to use the Compiz 3D window manager. Some sis chipsets (the 300 series) are DRI-capable, so some OpenGL-based games might be able to run at decent speeds if you make sure the settings shown in Listing 1 are set in /etc/X11/xorg.conf.

Listing 1: Settings for /etc/X11/xorg.conf
01 Section "Module"
02         ...
03         Load  "dri"
04         Load  "glx"
05         ...
06 EndSection
07
08 Section "DRI"
09         Mode 0666
10 EndSection

In case your sis chipset is not supported at all by the "sis" Xorg module, you might have to stay with the VESA or fbdev Xorg driver to get any graphics at all. In that case, you must change the Device section of xorg.conf to contain Driver fbdev and change the initial boot options (framebuffer settings are set at boot time) to vga=791 (1024x768 resolution in 64,000 colors, the mode that most cards support). And if that fails, revert to Driver vesa. But neither supports OpenGL or 3D.

Bad RAM

Question:

In Linux Magazine Issue 89 (April 2008), a fellow, writing about RAM he'd installed in his laptop, said that he upgraded the 128MB module to 256MB and the POST was counting improperly. You went through a fair bit of recommendations, but missed one easy possibility: The RAM module itself could have been bad. It happened to me once, and the store wouldn't exchange the RAM when I brought it in.

Answer:

Right, that possibility of just having bought a bad RAM module also exists. Thanks for the reminder, and it happened to me once, too. The sad thing is that it is harder to explain the situation to - and convince - the salesperson who sold you that RAM than to buy a new one.

Sometimes running a memcheck from a bootable CD or USB stick for demonstration will also do the trick.

If memcheck succeeds, but you still get RAM errors during normal system operation, you might have one of these cases in which RAM bits toggle randomly only under system load. This is harder to prove, but running about 10 parallel ping -f localhost >& /dev/null & and then copying a large file around inside a ramdisk and comparing checksums of the original vs. the copied file with md5sum sometimes helps discover circumstantial RAM failure.

Some shops claim that the RAM they sell cannot be returned on warranty if you install it on your own. I tend to believe that this behavior is illegal, but you probably need help from a lawyer to get an exchange or refund.

Shopping

Question:

I just started a subscription to Linux Magazine and am quickly getting overwhelmed with information. I want to get away from Bill Gates, and from one demo of SUSE desktop, Linux looks like a great alternative. I  ant to use my new system to program and do web/Internet stuff. Can you help?

Here is the new hardware I have:

The unit has never been powered up and there is nothing on the hard drives.

What I want on it:

I've considered using SUSE Enterprise Desktop, SUSE Enterprise Server, VMware Server, Ubuntu 7.10, Fedora, etc.

Being new to Linux and open source - very new - I would appreciate any and all advice on what to use and how to set it up. Other units are connected to a switch (Linksys ezxs88w), including WinXP (3), Win 98 (2), and Win ME systems.

What would be the best configuration/setup?

Answer:

All of the distributions you mentioned should work fine with your hardware setup, and I don't see anything in your hardware list that would be problematic. Maybe you should start with Ubuntu for installation because its Debian base has the largest software repository available - or start with Debian right away (which might be less suitable for first-time Linux users because of fewer good guided admin tools, though).

Switching between 64 and 32 bits can be a little problematic. Most precompiled software is for 32-bit, although almost any native GNU/Linux application source will compile and run fine in their 64-bit version as well. If you install and run a precompiled pure 64-bit system, you might experience a slight performance advantage (or even a large one, if you are doing a lot of computation, video, and graphics processing), but then you have to run all 32-bit plugins and applications (some proprietary programs, plugins, and codecs only exist in 32-bit versions) in a more or less complicated "chroot" environment that provides the 32-bit library versions used by those programs.

But the other way around - running a 32-bit environment with occasionally starting a 64-bit application - is worse to configure.

For getting accelerated 3D capabilities with your GeForce 7950 graphics card, you will have to download and install the Nvidia proprietary Linux driver from their support page.

After you finish the install, you can set up your network card to the same LAN setup as your other boxes, probably automatic IP addressing with DHCP.

In response to "being the center of a VPN": Depending on what you plan to do, setting up SSH access and port forwarding or installing a full OpenVPN server could be an option. If you just mean "setting up the computer as file and print server for a local LAN," installing CUPS and Samba should be sufficient, but make sure that access is only allowed for the local LAN, and not for the entire Internet.

Address Book Synchronization

Question:

I have completely abandoned Windows - after decades of using DOS and Windows products - with no regrets, even while moving from an advanced Windows user to a square-one Linux newbie. I have since progressed, but still consider myself an unsophisticated Linux user.

I have settled for Ubuntu after trying several distros. I have managed to do everything I was doing in Windows, and more. There is only one nagging remnant to my complete migration: PDA synchronization. I have an MS Windows mobile 5 device (Siemens Pocket Loox N520) that I never managed to sync with Evolution, no matter how many "howtos" I have read. I have imported most of my old Outlook address book to Evolution, but some records are only in the PDA and I want to transfer them. Also, I would like to find a solution to sync my new mobile phone (Motorola A1200), which runs Linux but Motorola provides only Windows syncing solutions.

Answer:

Tough. I'm afraid the only one who can help is Motorola, who has the complete protocol specification and development kit. Strangely, although the PDA is Linux-based, the manufacturer doesn't deliver any tools or instructions for Linux. Accessing the PDA's filesystem via one of the USB application protocols to which the PDA can be set might be possible. "Mass-storage" only seems to apply when a flashcard is inserted, though. So, in terms of interconnectivity with Linux, it's a very disappointing device.

However, it might be possible to run the provided tools for Windows under Linux with Wine, but these are probably only useful together with other Windows applications.

Modems

Question:

I have tinkered around with SUSE and Knoppix Linux quite a bit in the past, but I have never had much luck with Windows dial-up modems working. Recently, I decided to dump my Windows platforms for openSUSE, and I need some help purchasing a dial-up modem that will work for Linux. I would consider Fedora, but prefer SUSE. I used to run dual operating systems, Windows and Linux, but have decided that it's time to make the switch entirely to Linux.

I don't care whether the modem is internal or external, but please give me some insight into installing and purchasing the correct one. I am so tired of running around town to different people who claim to know something but then give me empty looks when I mention Linux.

I have two dial-up accounts, one of which is AOL, and I understand that it will not work on Linux. I want to dial to my Netscape account, though, and I believe this should be possible.

I have spent a great deal of time at Best Buy and RadioShack and I get a cold response from staff - they tell me to get Vista instead and save a few headaches. I would rather make my tower into a paper weight than upgrade to Vista.

My PC specs are eMachine T2605, 2.6GHz CPU, 1GB RAM, 256GB video RAM, and X-1300 Radeon video PCI, and I currently have a US Robotics external USB modem.

I have empty PCI slots and USB available - does Linux work with any USB modems? I have heard the old serial modems work, but I don't have any of these or know what type to get. Thanks for your help.

Answer:

Since the invention of "Winmodems," which lack essential parts of being qualified as regular modems, getting them to work has become difficult - and not just in GNU/Linux. Some newer USB Winmodems even require a firmware upload for operation - as in my answer to the previous question.

Even worse, vendors use the same product name for different chipsets, so you don't know whether you are getting a real modem or a Winmodem. Finally, because Winmodems are cheaper, they are likely to diminish the available number of good modems in the long run.

Winmodems are sometimes called names like HSP (Host Signal Processor), HCF (Host Controlled Family), HSF (Host Signal Family), controllerless, host-controlled, host-based, or softmodem. Also, it is very unlikely that Vista works with all of these because there are so many different chipsets, and some only have streams for a specific version of a single operating system.

My recommendation would have been the Elsa Microlink 56k modem with serial connection, which I also use for sending faxes from my computer. Unfortunately - especially for the USB version - there also seem to be derivates with the same name that lack the internal firmware, and they won't work without effort. A regular modem does not need any drivers on Linux, except for the standard serial or USB-serial driver, whereas Winmodems need vendor/chipset-specific drivers, daemons, and sometimes also firmware.

For an overview of the entire modem topic, see http://tldp.org/HOWTO/Modem-HOWTO.html. I has some recommendations on what modem to buy, too. For a comprehensive list of modems and how to get them working with no, minor, or great effort, see http://xmodem.org/modems/index.html.

A good program for general dial-up with providers using PPP - and should also be possible with AOL, which you mentioned - is kppp, or just the admin GUI that your distribution normally uses for modem dialup.