LinuxQuestions.org
Did you know LQ has a Linux Hardware Compatibility List?
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Laptop and Netbook
User Name
Password
Linux - Laptop and Netbook Having a problem installing or configuring Linux on your laptop? Need help running Linux on your netbook? This forum is for you. This forum is for any topics relating to Linux and either traditional laptops or netbooks (such as the Asus EEE PC, Everex CloudBook or MSI Wind).

Notices

Reply
 
LinkBack Search this Thread
Old 11-25-2009, 08:44 AM   #1
carolus
Member
 
Registered: Feb 2008
Posts: 45

Rep: Reputation: 15
wireless support in different distros - why the differences?


Where is the code located that makes some distros so much better than others at detecting wifi chipsets and installing the appropriate driver?
My understanding is that the kernel (vmlinuz) detects the available hardware and then installs the appropriate drivers from initrd. Why then is there so much difference between distributions? I'm assuming, perhaps incorrectly, that kernels of the same version number are identical from one distro to another. Surely there is more involved than just adding drivers to initrd. Does init run scripts that correct deficiencies?
What prevents simply copying code from a distro with good wireless support to one with poor wireless support?
 
Old 11-25-2009, 08:53 AM   #2
pixellany
LQ Veteran
 
Registered: Nov 2005
Location: Annapolis, MD
Distribution: Arch/XFCE
Posts: 17,802

Rep: Reputation: 728Reputation: 728Reputation: 728Reputation: 728Reputation: 728Reputation: 728Reputation: 728
I don't think drivers are stored in initrd....

To see your drivers, do this in a terminal:
Code:
cd /lib/modules/$(uname -r)/kernel/drivers
I believe that the startup scripts and config files tell the system what drivers to load at bootup.

But there are also various utilities for actually managing the connections---once a suitable driver is in place. I think the best one is "wicd", which should be available in most distros (look for it with the package manager.)
 
Old 11-25-2009, 10:01 AM   #3
theNbomr
LQ 5k Club
 
Registered: Aug 2005
Distribution: OpenSuse, Fedora, Redhat, Debian
Posts: 5,388
Blog Entries: 2

Rep: Reputation: 900Reputation: 900Reputation: 900Reputation: 900Reputation: 900Reputation: 900Reputation: 900Reputation: 900
Isn't it the role of the distro installer (the software, not the human), to detect hardware, and configure the system to load and configure appropriate drivers? If so, then it seems to me that the installer must contain some code that can detect the installed hardware, and set up the installation accordingly. It seems reasonable that this code would vary in quality or emphasis over the range of distributions. I suppose one should be able to find open source code that exposes what the installer is doing.
Kernels can differ in makeup, based on the configuration that was selected to build them, even though they may be based upon identical base versions. The choice of built-in drivers and assorted options is part of the distribution package.
I recently tried a few different Linux distros to install on a new laptop. I was startled to see what a range of accuracy and capability was built into the installers. Some would not even complete an installation, while the one I finally used (Open Suse 11.1, for the record), found and correctly installed support for everything (at least everything I've tried so far), including correctly setting up dual booting with MS Vista.
I think the quality of the installer is an under-rated factor in choosing a distribution. There must be a lot of people who abandoned Linux, going back to Windows because the first distro they chose would not install correctly, or mis-configured some key hardware component.
--- rod.
 
Old 11-25-2009, 11:19 AM   #4
carolus
Member
 
Registered: Feb 2008
Posts: 45

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by theNbomr View Post
Isn't it the role of the distro installer (the software, not the human), to detect hardware, and configure the system to load and configure appropriate drivers?
Well, I was thinking of live distros, which are all I have used. So far as I know, an installer does not enter the picture. There is vmlinuz, initrd.gz, and a filesystem that includes initialization scripts along with everything else.
 
Old 11-25-2009, 11:40 AM   #5
carolus
Member
 
Registered: Feb 2008
Posts: 45

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by pixellany View Post
I don't think drivers are stored in initrd....
Perhaps so, but I got a different impression from Wikipedia:
http://en.wikipedia.org/wiki/Linux_startup_process

Quote:
But there are also various utilities for actually managing the connections---once a suitable driver is in place. I think the best one is "wicd", which should be available in most distros (look for it with the package manager.)
Yes, wicd works nicely in Zenwalk Live, as does the driver installation. But my question is how it goes about finding and installing the right driver and why those tricks cannot be easily transferred to less enlightened distros.
 
Old 11-25-2009, 12:40 PM   #6
Hangdog42
LQ Veteran
 
Registered: Feb 2003
Location: Maryland
Distribution: Slackware
Posts: 7,769
Blog Entries: 1

Rep: Reputation: 410Reputation: 410Reputation: 410Reputation: 410Reputation: 410
Quote:
My understanding is that the kernel (vmlinuz) detects the available hardware and then installs the appropriate drivers from initrd. Why then is there so much difference between distributions? I'm assuming, perhaps incorrectly, that kernels of the same version number are identical from one distro to another. Surely there is more involved than just adding drivers to initrd. Does init run scripts that correct deficiencies?
You're missing one extremely important issue: Licensing. Compare the possibilities between a Broadcom chipset and and Intel chipset. Intel's licensing allows for any needed firmware to be distributed with Linux. In general that means Intel chipsets can be used pretty much out of the box. Broadcom licensing on the other hand doesn't allow firmware to be distributed, therefore you run into situations like the b43 driver. Technically it looks like the card is recognized since b43 is in the kernel. However, since there is no firmware, the wireless card doesn't work. Some distros may simply ignore licensing and distribute firmware anyway, but I think those are a minority.
 
Old 11-25-2009, 02:35 PM   #7
pixellany
LQ Veteran
 
Registered: Nov 2005
Location: Annapolis, MD
Distribution: Arch/XFCE
Posts: 17,802

Rep: Reputation: 728Reputation: 728Reputation: 728Reputation: 728Reputation: 728Reputation: 728Reputation: 728
Quote:
Quote:
I don't think drivers are stored in initrd....
Perhaps so, but I got a different impression from Wikipedia:
http://en.wikipedia.org/wiki/Linux_startup_process
OK---the drivers are stored in the filesystem. I guess that--IF you have an initrd--then things like drivers get loaded. But an initrd is not required......
 
Old 11-25-2009, 08:07 PM   #8
fair_is_fair
Member
 
Registered: May 2005
Posts: 511

Rep: Reputation: 51
There sure is a difference. I'm using a ralink external usb card/antenna. Wireless with Sabayon 5 gnome 64 bit linux driver flies - it is fast!. At first, I thought it was just the 64 bit thing but no, it does not seem to make as big a difference in other distros.

I need to use ndiswrapper with windows drivers to get similar performance with other distros. What is with Sabayon? I have found some differences in iwconfig and tried various settings but nothing approaches the speed Sabayon gives me.

This was not a plug for Sabayon, just an observation.
 
Old 11-25-2009, 08:18 PM   #9
dxqcanada
Member
 
Registered: Sep 2006
Location: Canada
Distribution: Gentoo
Posts: 702

Rep: Reputation: 43
Drivers for hardware are loaded manually, or automatically.

Some drivers are build into the kernel, so they are activated when the kernel is loaded ... others that are modular are loaded by the Linux loadable kernel module ... others are loaded by a script.

This means that there may be more than just a matching kernel to gauge if your hardware driver will be loaded.

Also, some Distributions add additional functionality to the vanilla kernel or system.
 
Old 11-25-2009, 10:00 PM   #10
exvor
Senior Member
 
Registered: Jul 2004
Location: Phoenix, Arizona
Distribution: LFS-Version SVN-20091202, Arch 2009.08
Posts: 1,469

Rep: Reputation: 64
Quote:
Originally Posted by Hangdog42 View Post
However, since there is no firmware, the wireless card doesn't work. Some distros may simply ignore licensing and distribute firmware anyway, but I think those are a minority.
Hmmm I did not think b43 used firmware. Rather it just likes to be loaded when it is not the correct driver. Almost all of the newer brodcom cards out there will cause the b43 driver to load and the card will not work. Not because of missing firmware but because its detected as a brodcom card. The reason it doesent work is because it is not supported yet by the driver. You have to go out and get the wl driver from brodcom but I do not know what the licencing is for that driver.
 
Old 11-27-2009, 08:09 AM   #11
Hangdog42
LQ Veteran
 
Registered: Feb 2003
Location: Maryland
Distribution: Slackware
Posts: 7,769
Blog Entries: 1

Rep: Reputation: 410Reputation: 410Reputation: 410Reputation: 410Reputation: 410
Quote:
Originally Posted by exvor View Post
Hmmm I did not think b43 used firmware. Rather it just likes to be loaded when it is not the correct driver. Almost all of the newer brodcom cards out there will cause the b43 driver to load and the card will not work. Not because of missing firmware but because its detected as a brodcom card. The reason it doesent work is because it is not supported yet by the driver. You have to go out and get the wl driver from brodcom but I do not know what the licencing is for that driver.
This is from the b43 site:

Quote:
The Broadcom wireless chip needs software, called "firmware", that runs on the wireless chip itself during operation. This firmware is copyrighted by Broadcom and it must be extracted from Broadcom's proprietary drivers. To get such firmware on your system, you must download the driver from a legal distribution point, as noted below. Then you must extract the firmware from that Broadcom driver by using b43-fwcutter (or bcm43xx-fwcutter) and install it in the special directory for firmware - usually /lib/firmware. Please note that the firmware from the binary drivers is Copyrighted by Broadcom Corporation and must not be redistributed.
The wl driver licensing appears to be a bit weird. It does allow for distribution, but there is a lot of other nonsense in there. However, the wl driver supports only four chipsets (4311, 4312, 4321 and 4322) so if you don't have one of those, you have to use b43 or ndiswrapper.
 
Old 11-27-2009, 09:19 AM   #12
carolus
Member
 
Registered: Feb 2008
Posts: 45

Original Poster
Rep: Reputation: 15
If I understand correctly, dxqcanada answered the original question, but the other contributions were helpful too.

My current understanding is that the differences among live distros in driver autoinstallation can be found in all three of the files in a live distro - 1) vmlinuz (because of distro-specific patches to the kernel), 2) initrd (because of the drivers included), and 3) the squash file system (containing initialization scripts that can also install drivers and firmware).

Hence you can't easily find a method in one distro and copy it to another.
 
Old 11-27-2009, 05:59 PM   #13
exvor
Senior Member
 
Registered: Jul 2004
Location: Phoenix, Arizona
Distribution: LFS-Version SVN-20091202, Arch 2009.08
Posts: 1,469

Rep: Reputation: 64
Quote:
The wl driver licensing appears to be a bit weird. It does allow for distribution, but there is a lot of other nonsense in there. However, the wl driver supports only four chipsets (4311, 4312, 4321 and 4322) so if you don't have one of those, you have to use b43 or ndiswrapper.
Ive had luck getting some broadcom cards not listed as supported by the wl driver to work with the driver. Apparently there are alot of synonyms for the devices that use the same chipset.

As for the original poster I think you have that just about correct. The reason it works out of the box for some and not others are just how much of the drivers the dev decided to load up into the image.
 
Old 12-03-2009, 02:16 AM   #14
nooby
Member
 
Registered: Oct 2007
Location: Stockholm Sweden
Distribution: Snow Puppy and Fluppy and Lupu frugal install
Posts: 279

Rep: Reputation: 33
it says solved so I start a new thread instead because it is not solved for me.

Last edited by nooby; 12-03-2009 at 02:22 AM.
 
  


Reply

Tags
boot, hardware, recognition, sequence


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
What are the actual differences between distros? davidguygc Linux - Distributions 3 05-05-2007 12:57 PM
Differences among distros beside... telovoyagarcar Linux - General 6 03-13-2007 04:18 PM
HDD support (kernel differences) Metala Linux - Hardware 4 12-13-2005 10:25 AM
[B]Which are some general differences between linux distros[/b] Santorres Linux - Distributions 3 12-08-2003 12:37 PM
Linux Distros Differences thesoccerking Linux - Distributions 3 05-19-2002 11:10 PM


All times are GMT -5. The time now is 03:50 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration