LinuxAnswers DiscussionThis forum is to discuss articles posted to LinuxAnswers.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Originally posted by exodist why not just use the most recent version?
Hmm I thought I read somewhere that I was supposed to have the same version of the source code as my binary kernel. But I guess the instructions in the article here don't say that. I tried 'yum install kernel-source' which is now downloading the mega huge source of 2.6.5. I would guess my kernel is one of them 2.4s. I wonder if I can find out where the yum thing installs it to? If I'm lucky, maybe yum will mention where it's installing it.
oh wow I see, you really are lost arent you? (No offence) to understand why you need the sources you need to understand programming and the using of external libraries. I will not go into this as if you would nto understand easily w/o programming experiance.
you need the source for your current kernel to install the driver
to get the source you need to install the proper package for your distribution, it will be under development listed as kernel sources
if you do not understand what I mean by the package then refer to the documentation for your linux distribution, it hould explain package management/installation/etc.
before trying to build the drivers yourself use the afore mentioned documentation to see if the driver is packages for your distribution.
if it is not then follow the drivers instructions after installing the development toold that come with your distribution cd.
Well, I am a programmer and I still can't imagine why the sources are needed. Header files, certainly, and libraries and shared libraries, but what in the world do I need the entire kernel source code for?
I've also dabbled in Linux before, downloading my first Red Hat 1CD distro with a 33.6K modem and being massively disappointed when I couldn't get it to work. I've downloaded at least three other distros but I always get scared away from Linux when I get stuck when something goes wrong or an important piece of hardware doesn't work.
Now, my company has tasked me with figuring out how this driver works, in order to port it to Windows CE, which is why I want to know about the Linux driver model. Or, since it appears there might be a different driver model for every different kind of hardware... I'd like to know about the model for USB and for wireless cards (since it's a USB wireless card--well, not so much a card as a round thing that looks like a flying saucer crossed with a hockey puck, but you know what I mean.)
ok, the kernel header files are all that are really needed as far as I know, but kernel.org does not distribute them seperate from the rest of the source. Distributions will often include kernel headers as a seperate package, so that is likely all you need installed unless the driver requires a part of the kernel that is not enabled on yours, in that case it would need to compile that section, and for that it would need Oh! the kernel sources, lol sorry for the sarcasm, no offence intended.
hopefully you can see why I would nto want to go on explaining this if you were not a programmer.
to be impressed with linux you need to learn hwo to use everything impressive about linux, sitting and watching a blinking cursor waiting for it to read your mind will leave you quite unimpressed I assure you ;-)
Windows is the same way, if you were a user of unix and opened windows for the first time you would likely be unimpressed and clueless. a button labeled 'start' is the only thing in windows that might impress a first time user, but the programs listed on start have to run out eventually ;-)
disclaimer: the remarks expresse dint his message ar enot directed specifically twards the user sin this thread, they are directed in general to everyone to whom they apply, these are remarks that come to mind from experiances gained in multiple threads.
You're right that Windows is not a cakewalk for a newbie either, but installing a driver is nowhere near as complicated on Windows. Oh, and when you plug in a USB device in Windows, a nice little window pops up to help you install a driver. It's not perfect but it's a lot better than nothing. Oh, and on Windows, drivers frequently come with enough documentation that you don't have to go hunting all over the internet for help.
I can't blame the author though, since he's not paid for it. However, you can't honestly claim that the usability of this is anywhere near that of Windows.
it is if you have experianc ein it, and you don't gain experiance by giving up, and yes if you knwo what you ar edoing in both places installing a driver in windows is easyer, but if you have no experiance in eather it seems just as difficult, for instance if an average persons mother got a computer for x-mas and a seperate device of some kind, maybe a camera or printer than if she managed to hook it all up the windows driver dialogue is no mor euseful than a blinking curser, she has no idea what to do. (lets assume it is a new device with no driver built into windows)
I freely admit driver installation in windows is a lot easy, it is in fact very difficult to figure out how to do it in linux the first time, but now I can install any linux driver in under 5 minuts if it does nto require a complete kernel recompile (which without supervision takes roughly 10min on my machine), and assuming the driver works/compiles cleanly. Out of that 5 min only about 40-50 seconds (not counting the finding and downloading fo the driver) is me actually doing something, the rest is me waiting for it to compile and such, this being said I must also mention that I cannto simply give you a guidline for installing the driver, every drive is different in one way or another, but once you have the idea behind how it works figured out you can use reasoning to figure out each driver as you need to despite the differences.
Now even though it takes very little time for me I still say that windows drivers when there is nothing wrong witht hem are easyer, but I prefer linux anyway. If there is a problem I know it is with me, or with something I did, in windows you can do all the steps perfectly and still not have the device work to no fault of your own. I love the lack of automation, it does nothing unless I tell it to, and that is how I want it, I am not saying it is perfect for everyone, but then again I am not trying to say everyone should use linux, I liek it how it is, I like the complete control that comes from lack of pretty interfaces and easy dialogues.
If making linux available to everyone else means changing it then I see no point in telling the average joe on the street to use it.
here is my final point: usability x usefulness = constant. it is like specialisation, the more you specialise something to a single task the less likely it will be useful in other tasks, or you can underspecialise and have a bit of what you need for a hundred different tasks, but not enough to complete any of them. I think linux has the ideal balance between the two.
but we digress, this is not a forum for windows vs linux, and after this I will respond to no more of this type of message in this specific thread. If you wish to continue this conversation I would be hapy to do so in a more appropreate forum, now lets get back to helping you, what point exactly are you stuck on? I am not sure hwo much the information given before helped and I truly wish to help you fix this problem.
/etc/sysconfig/network-scripts/ifcfg-wlan0
#Netgear MA111 USB Wireless
DEVICE=wlan0
BOOTPROTO=dhcp
TYPE=Ethernet
onBOOT=yes
DHCP_HOSTNAME=vaio <-- how do you figure out what to put here?
GATEWAY=192.168.99.1 <-- is this the same as 'Default Gateway' on Windows?
Why are the above 2 lines required here but not on Windows? I thought the whole point of a DHCP server was so that you don't have to do manual configuration like this... I never needed the DHCP server's hostname before, and also I thought DHCP automatically provided the default gateway address. Oh well...
Also, the above file does not exist on my system, so I created it. Now, I'm a man of little faith. Why should I expect this file to have any effect at all? What software is going to be reading it?
>For Linux 2.4 put the following in
>/etc/modules.conf. For 2.6 put it in modprobe.conf:
Hmm, it would be really nice to have a way of figuring out which kernel I have right about here.
(in /etc/wlan/wlan.conf)
>alias wlan0 prism2_usb
Where does this identifier 'prism2_usb' come from / what does it refer to? And what effect does this line have?
/etc/wlan/wlan.conf
WLAN_DEVICES="wlan0"
ChannelList="01:02:03:04:05:06:07:08:09:0a:0b:00:00:00"
ChannelMinTime=200
ChannelMaxTime=250
WLAN_SCAN=n <-- what does this do?
SSID_wlan0="yourSSID" <-- FINALLY, something I happen to know what is!
ENABLE_wlan0=y
----
Finally, what is the location of wlancfg-DEFAULT and where do I put the file wlancfg-yourSSID?
Here is my final point: usability x usefulness = constant.
Okay, now here is something I absolutely disagree with, but it's one of those things that I can't articulate easily so I won't try unless you want me to. But that is false, as would be any other overly simple formulation such as usability + usefulness = constant.
the 2 lines you pointed at:
DHCP_HOSTNAME:
in windows your hostname is automatically used here, you are not offered the choice no matter how much you want it. In linux you can use a hostname but have dhcp recognise you under a different name, in your case simply put your hostname here, or leave it blank, it is not important
Gateway: only some dhcp server offer a gateway, if yours does this line is not needed
being there does not necessarily mean you need it, but if they left it out and you did need it where would you be?
if the file does not exist on your system than you are using a different linux distribution than the authors tutorial, refer to your distribution documentation as to what files you need to modify for the network.
as for kernel, when you reboot most distributions tell you on the text terminal what kernel version you have, if you boot directly to gui mode (x-windows) you can access a terminal by pressing control+alt+f2 thent o get back try control+alt+f7-f12 until you find the correct one, the f# keys refer to virtual terminals, ones 7+ are for gui sessions. 6- are fo rtext mode, alt+f# is all that is required to switch between termsinals of the same type, but to go from gui to text and vice versa you also need to press control
/etc/wlan/wlan.conf is the main config file, this person recommends you create this alias for software to use, some programs look for the wlan0 device, others look for prism2_usb. these device recognitions are in /dev /dev contains a virtual filesystem where each device you have can be accessed as though it were a file. the alias makes it so both refer to the same thing so programs can find it.
wlancfs-DEFAULT should be in /etc/wlan and that is where you make the copy for your network as well.
another note:
>For Linux 2.4 put the following in
>/etc/modules.conf. For 2.6 put it in modprobe.conf:
you will most likely have only one of the 2 files listed, if you have modules.conf make the changes to it, if you have modrpobe.conf make the changes to it, if you have both modify both, running the same command twice will not hurt, and putting it in a file that is never used also will nto hurt, it is kinda a no way to loose situation.
Originally posted by exodist
being there does not necessarily mean you need it, but if they left it out and you did need it where would you be?
But if they put it in, and I don't need it, but they offered no explanation about it, then where would I be? I would be in a state of confusion, of course, as you can see.
Quote:
if the file does not exist on your system than you are using a different linux distribution than the authors tutorial, refer to your distribution documentation as to what files you need to modify for the network.
I'm using Fedora which is one of the 3 redhat distros the author said he was using.
Quote:
as for kernel, when you reboot most distributions tell you on the text terminal what kernel version you have
...
wlancfs-DEFAULT should be in /etc/wlan and that is where you make the copy for your network as well.
Thanks, I'll try that.
Quote:
/etc/wlan/wlan.conf is the main config file, this person recommends you create this alias for software to use, some programs look for the wlan0 device, others look for prism2_usb.
But, er, what programs? By the way, I see neither prism2_usb nor wlan0 in /dev. Will one of those automatically appear in /dev when the driver starts working? Should there be a file in /dev representing the device before the device driver starts working?
the device will most liekly be created in any newer distro using devfs, you can type this ina atemrinal to see if you use devfs:
mount
look for this: none on /dev type devfs (rw)
if you do not use devfs you need to check the manual for the driver for instructions on "Creating Device Nodes"
If it is the same distro you use and it does nto have the file there may be something else going on, I do not use that distro, so I am afraid I could not help you there. I use gentoo mainly and then slackware is the one I used exclusevly for several years, I also have minor experiance in other distro's, but not fedora.
none on /dev/pts type devpts (rw,gid=5,mode=620)
none on /dev/shm type tmpfs (rw)
Does that mean I don't have "devfs"?
BTW my kernel version is 2.6.5-1.358 which fortunately is the same as what yum gave me. By the way, yum found that kernel-source depends on various graphical libraries such as pano and X11. What do you make of that? I thought GUI stuff was all independent of the kernel.
By the way, make config defaulted to
/lib/modules/2.6.5-1.358/build/
instead of defaulting to the kernel source directory as it did in the article:
/usr/src/linux-2.6.5-1.358/
I let it use the default and as near as I can tell, it compiled successfully. What's in /lib/modules/2.6.5-1.358/build/ and how do you suppose make config knew to try that folder?
it is probably a link, it was probably made for you, so do not worry too much unless the compiler still complains the sources are missing.
You most likely do nto have devfs, not much to worry about, just find out how to create the device nodes (Usually mknod /dev/devanme # # #)
A lot of stuff in linux you would not expect to be connected are, the kernel does not *require* x-11 hearders, however to compile the kernel there is a graphical configuration (make xconfig) to specify things ina gui, fo rthat they nead the X11 headers and thus the kernel source *can* need the headers under some situation, not always though.
After I do the compile procedure (including make install), locate prism2_usb turns up nothing except for the C source file. Where should the module appear?
make seems to be running in a kind of verbose mode where it echoes all commands and actions. It's rather hard to see what's going on with all the clutter, so how can I turn that off?
The man page for alias in "BASH_BULLITINS" (whatever that is) says the syntax is "alias name=value". Why does the syntax in modprobe.conf omit the equals sign?
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.