Help - Search - Members - Calendar
Full Version: Buying Wireless Dsl Hardware
Linuxhelp > Support > Hardware Support
jeff_brown
Hi. I run Mandrake, but I've never managed to connect it to the internet on my own. I had friends to help me at school, but I've left, and now I'm sorta lost.

It's probably the case that a good (comprehensive yet not exhaustive) introduction to DSL on Linux would answer most of my questions. If you know of any (yes, I've searched) please direct me to them!

I'm about to purchase a wireless router and an adapter, to share my housemate's DSL. I recall reading that compatibility could depend on the wireless equipment and the disribution of Linux, but I can't find it anymore.

My questions are:


Is it still the case that one has to worry about compatibility, or are all inputs carrying DSL equivalent? If they're not equivalent, how can I find which routers and adapters are best supported by Linux and Mandrake?

Should I prefer an ethernet input to a USB one, or vice-versa? (My computer has available ports of both type, built into the motherboard.)

Will I need drivers? Where should I look?

Last, aside from a router and an "adapter" (which I believe means receiver), will I need anything else?

Thanks in advance.


--Jeff Brown
hughesjr
How does the DSL Modem connect to the current PC? (USB or ethernet) What is the make and model of the DSL modem?

Are you using PPPOE to connect to the provider (who is the DSL provider)?

If the DSL modem is USB and has no ethernet card, it could get very hard.

If the DSL modem is ethernet, you can connect the modem to the wireless router's WAN port and set up the router with PPPOE to connect to the provider ... then the current PC would connect to the router via a ethernet cable and a wired port and you could connect wirelessly via a wireless NIC.

YES ... compatability is a major issue with linux, because most vendors provide no linux support.

After you post the modem information, the provider and the PPPOE requirements, I 'll see what kind of wireless routers might work....
jeff_brown
Mr Hughes (?): The message board says you've made 1300 posts. I am boundlessly thankful that you have not tired of helping!

The modem currently in place in my house is a Netopia 3300 series DSL modem, served by Earthlink (non-"Basic", e.g. high speed) DSL. The modem has 1 USB and 1 Ethernet output, *both* of which my housemate plugs into his computer. I suspect that the USB signal is being ignored, but it could be the other way.

I don't know whether the PPPoE interface is supported by Earthlink, or if so, whether my housemate uses it. He runs Windows. I don't currently have Earthlink service.

I hope this is enough information; if not I can play phone-tag with Earthlink and my housemate to find out more.

Thanks!


--Jeff Brown
jeff_brown
Hi. I apologize! My last post, I was relaying erroneous information from my housemate. I called Earthlink and pretended to be him, and they let me know the real deal. Now it makes more sense, and I'm excited!

Anyway, the situation is:


He has:
a windows machine,
accepting Ethernet output (RJ 45)
from a Netopia 3300 DSL Modem
served by Earthlink High Speed DSL,
using PPPoE

I have:
a machine with Linux and Windows
with an Ethernet port built into the motherboard.

If I understand you correctly, I should:
Feed his modem into a router
Configure the router with PPPoE
Feed the router into the ethernet ports of both computers ...
his directly with another RJ 45
mine with the RJ 45 from a wireless receiver


All of that sounds wonderful. The questions I seem to have left, then, are:

What model should I buy? That is, where can I find what's supported? (Everyone seems to be afraid to say "this works", as if they fear lawsuits or something.)

Will I need to buy a wireless transmitter, or is that function built into a router?

How do you configure a router with PPPoE?
What will I need to know?
Will the ip / subnet / gateway numbers be the same as they were?
What are those numbers? Did they even exist before?

Should I expect the driver to be included in my Mandrake distro (a snail-mail box with 9.1)?


Thanks again! If this succeeds, may you live a thousand years!
hughesjr
That is correct ....

the modem would plug into the WAN (or outside) port of the wireless router .... his computer would plug into a wired port ... your computer would connect to the router wirelessly.

How you set the router up is normally by connecting to the router from one of the wired ports (in this case, your roommates PC) and using the web browser and the routers internal IP address (usually 192.168.0.1 or 192.168.1.1) ...

You will need to know the username and password that your roommate uses to connect to the ISP .... prior to setting up the router with the wired PC, you may have to remove any PPPOE software that is installed (at least you will have to disable it). Once the router is properly configured, that softeware is no longer required .. just set the Network Card in the wired machine to DHCP.

Setup for each router type is slightly different ... but the manual that comes with the router should give the specifics.

Always use an ethernet NIC vice a USB device ... especially on Linux. Most companies provide zero linux support and USB drivers take much longer to be released for Linux (and they are not normally released by the comapany, but by someone who reverse engineers the specs of the device and writes a driver). Ethernet, on the other hand, is supported much better in Linux.

Now ... as to which one to buy, that is a hard question. If your PC is a laptop, Wireless is good (you can move around, etc.). The wireless that you want to buy is 802.11g ... it has speed that is compareable to a wired connection. The other wireless speeds are much slower.

Wireless is more expensive $80-$100 ... and even if you already have a Network interface on your PC, you will need to buy a wireless card ... another $60-$80 dollars on top of the router.

A wired connection router is much less expensive (Dlink DI-604, $40.00 and no adapter is required ... but you need a long enough straight through CAT5 network cable to connect).

---------------------------------
All that being said, I would recommend the D-Link DI-624 router (it's about $90) ... and if you have a laptop you would need the dwl-g650 PCMCIA card ... if you have a desktop, you would need the DWL-G520.

This linux driver should work for either network card .
jeff_brown
Hi! It's been a while; had to wait for some stuff in the mail, and convince my reluctant housemate to share. I've made definite progress since the last exchange. One obstacle seems to remain -- getting Linux to recognize this adapter.

What I've done:
I bought the D-Link DI-624 router and DWL-G520 adapter. I installed the router (on my friend's computer) and the adapter (on mine), using only Windows, and everything works perfectly AFAIK. Now I need Linux to recognize the adapter. My friend's computer does not run Linux -- all Linux worries are on mine alone.

I downloaded the Prism54 driver (as a tarred CVS file), which apparently often works with my adapter. It comes with a readme giving two conditions under which I might try to install it. One was if I have "sudo". I might have sudo, but I don't run it, so I ignored those instructions.

I tried these instructions, for those running the "target kernel". (From what I could gather, the target kernel is just one's personal kernel, so I believe it's the only kernel I run.) The instructions involved using "make". I have never understood make; I have used it before, but only by cutting and pasting other people's instructions and hoping. In this case my hopes failed:

When (from the directory in which the tar file is located) I type
make clean modules
I get
Make ***: No rule to make target "clean". Stop.
Similarly, when I type
make install
I get
Make ***: No rule to make target "install". Stop.

It doesn't bother me that these attempts failed, because I didn't know what I was doing. However I do very much want the driver installed.

My Questions:
How can I install the (Prism54, tarred, CVS) Linux driver?

Once I do, will I just set it up with the same MAC* address, channel number, etc. that Windows uses? Is the only information it needs available from those haphazard Windows utilities like "My Network Neighborhood"?

Will the router have trouble with a client switching between Linux and Windows, or is the difference invisible?


*When installing the router on my friend's computer, MAC issues were addressed, and PPPoE never came up. Apparently the Earthlink guy was wrong.
hughesjr
Before you start, you will need to have the kernel-source for your currently installed kernel ... what distro of linux did you install? If you have the kernel-source installed, you can continue ... if you don't and you don't know how to get it ... post your distro and I will help you get the kernel-source....

-------------------------------------------
I looked at the prisim54 driver ... and it requires that you have a firmware .arm file ... I went to the Dlink site and they don't provide the firmware for that card ... so, the prisim54 driver is out....

But I downloaded the madwifi driver from CVS (here is there website). Rather than making you login to CVS, you can get it from me here.
-----------------------------------------------------------------------------------------------
OK .... a tar'ed file (TAR stands for Tape Archiver) is a utility that combines a bunch of files into one file ... that one file is then normally compressed with either gzip (GNU Zip) or bzip2 (Burrows-Wheeler Zip). Gzip files usually end in .tar.gz or .tgz ... and bzip2 files normally end in .tar.bz2 or .tbz2. Using tar and one of the zip programs together produces a file similar to a .zip file for windows ....

The first thing you need to do is untar and unzip the driver that you have .... all instructions must be done as the root user ... and will be done in a terminal window. First, open a terminal window, then (if you didn't log in as the user root), issue the command:

su - root

and enter your root password

make a directory to unzip into like this:

mkdir /tmp/wireless

Now copy the file to the new directory (from within the directory you downloaded it to):

cp madwifi.tgz /tmp/wireless/

Now go to the /tmp/wireless directory and unzip the file .... since it is a .tar.gz or .tgz file use this command:

cd /tmp/wireless
tar -xvzf madwifi.tgz


if it had been a .tar.bz2 or .tbz2 file, use this command instead:

tar -xvjf filename
(for info ... in a tar statement, x means extract, v means verbose, f means it is a file and not a tape archive, j means it's a bzip2 file archive, z means it's a gzip file archive)

Now you should see either a bunch of files or a directory in your current directory ... use the command:

ls -al

If there is a new directory, use the command:

cd madwifi

Now do ls -al again ... it should look like this:

CODE
ls -al
total 80
drwxr-xr-x   12 root     root         4096 Mar 10 19:02 .
drwxr-xr-x    3 root     root         4096 Mar 10 19:03 ..
drwxr-xr-x    3 root     root         4096 Mar 10 18:58 ath
drwxr-xr-x    3 root     root         4096 Mar 10 19:02 ath_hal
-rw-r--r--    1 root     root         2078 Jan 13 12:05 COPYRIGHT
drwxr-xr-x    2 root     root         4096 Mar 10 18:58 CVS
drwxr-xr-x    3 root     root         4096 Mar 10 19:02 driver
drwxr-xr-x    4 root     root         4096 Mar 10 18:58 hal
drwxr-xr-x    4 root     root         4096 Mar 10 18:58 include
-rw-r--r--    1 root     root         2743 Mar  8 11:28 Makefile
-rw-r--r--    1 root     root         3480 Mar  8 11:28 Makefile.inc
drwxr-xr-x    4 root     root         4096 Mar 10 18:58 net80211
drwxr-xr-x    5 root     root         4096 Mar 10 18:58 patches
-rw-r--r--    1 root     root        14624 Mar  8 11:29 README
-rw-r--r--    1 root     root         1985 Jan 13 12:05 release.h
drwxr-xr-x    3 root     root         4096 Mar 10 18:58 tools
drwxr-xr-x    3 root     root         4096 Mar 10 19:02 wlan

OK ... the file make is used to make (build) compiled programs from source code ... the files (and directories) in the directory you are currently in are the source code to build the 3 modules you need to use your card...

so issue the command:

make

It should do a bunch of things ... and at the end, it should say something similar to this:
CODE
ld -o ath_pci.o -r if_ath.o if_ath_pci.o
make[3]: Leaving directory `/tmp/wireless/madwifi/driver'
make[2]: Leaving directory `/usr/src/linux-2.4.xx-xxx'
make[1]: Leaving directory `/tmp/wireless/madwifi/madwifi/driver'

If the last lines say ERROR ... something is wrong. If there are no errors, issue the command:

make install

This copies the module files to your kernel's module directory....where we can load them to make the card work.

now load the modules with these commands:

modprobe wlan.o
modprobe ath_hal.o
modprobe ath_pci.o

---------------------------------------
If you made it this far ... now go to the FAQ to make the card work ... start at number 4. (I can't do any of this stuff, since I don't have the card).
jeff_brown
Great!

So I need to install the kernel-source. I have Mandrake Linux 9.1, the boxed set from last summer. Everything is intact, but what do I do with it?

Also: The following actions couldn't have hurt anything, right? I got the madwifi driver, uncompressed it in its own spot, and tried to make it, hoping to verify that I did not have the "kernel source" installed. I got a number of similar errors, the first of which was

make: *** /lib/modules/2.4.something-something/build: no such thing.

Is this sort of experimentation healthy, or dangerous?
hughesjr
shouldn't have hurt anything ....

you just need to do:

make clean

before you start the other instructions....
-----------------------------------------------------------------
have you ever updated the installed Mandrake for security/bug fixes or are all the files still the same as the original disk?

From the command prompt (as root), type this to install kernel-source:

urpmi kernel-source

It should ask you for the proper CD and install kernel-source.

do the command:

uname -r

then do the command:

rpm -qa | grep kernel

you should see 2 packages (maybe more than 2, but for now we are worried about only kernel and kernel-source).

The kernel-source version numbers should match up with the uname -r version numbers and the kernel version numbers ...
---------------------------------------------
for example on my new Mandrake 10 install, here are my results:

[root@localhost root]# uname -r
2.6.3-4mdk


and

[root@localhost root]# rpm -qa | grep kernel
kernel-2.6.3.4mdk-1-1mdk
kernel-source-2.6.3-4mdk

--------------------------------------------
since they are all version 2.6.3-4mdk, I am ready to start...
--------------------------------------------
Now go to the /usr/src directory and list the files like this:

cd /usr/src
ls -al


the results should have a 2 lines similar this:
CODE
lrwxrwxrwx   1 root root  16 Mar 11 05:33 linux -> linux-2.6.3-4mdk/
drwxr-xr-x  20 root root 672 Mar 11 05:33 linux-2.6.3-4mdk/


What is important is that the linux is pointing to the kernel source directory and that it has the same version numbers that the uname -r command produced...

If everything is good so far ... we need to get the kernel source ready to compile agianst...do this:

cd /usr/src/linux

edit the file /usr/src/linux/Makefile ... Use the command (from within the current terminal window as root):

gedit /usr/src/linux/Makefile

near the top of the file, there is a line that says:

EXTRAVERSION = -4mdkcustom

(mine says -4 because my kernel is 2.6.3-4mdk ... yours will be whatever the -xmdk your kernel is...

remove the custom from the end of the line...

so mine would become:

EXTRAVERSION = -4mdk
(make sure you leave your number and mdk alone and just remove the word custom)

save the file and exit gedit....

now (you still should be in /usr/src/linux in a terminal window as root) issue the command:

make mrproper

that should finish without any ERRORS

then copy the current kernel's config file from the /boot directory like this (that file will have the same version number as the uname -r command we did and the kernel source):

cp /boot/config-x.x.x-xmdk .config

(for me x.x.x-x is 2.6.3-4 ... yours will be what the version number of your uname -r command was. Notice that there is a space between cp and /boot and another space between mdk and .config in the above command.)

now you have your current kernel's config file in the kernel source directory ... issue the command:

make oldconfig

then when that completes (should do so without errors), do:

make dep

now you should be ready to compile the drivers....

cd /tmp/wireless/madwifi
(or where you untarr'ed the madwifi.tgz file ... if different)

do:

make clean

then follow the other instructions...starting at:

make
jeff_brown
Of Immediate Interest:
So close!

I believe I successfuly installed the kernel source and make'd all the madwifi files. Your last instructions were to use modprobe on wlan.o, ath_hal.o, and ath_pci.o. I found these three files and no others in /lib/modules/2._number_mdk/net, so I assumed it should be done from there. When I did I got this:

> modprobe x [where x is one of the three files above]
modprobe: Can't locate module x

(I tried the same thing everywhere else I found those files, with the same effect.)

Que pasa?


Just Curious:
I wish to learn; however if you're pressed for time I can easily duplicate these questions elsewhere. The instructions I've received have been exquisite; my only complaint is that I don't know what I'm doing. In the interest of changing that, I casually inquire:

If I were to update the kernel, or upgrade to Mandrake 10 (are those independent operations?), would I have to reinstall everything, including the source kernel? Is that hard?

When I took the word "custom" from /usr/src/linux/Makefile, what did that change? Will I miss it?

When I copied /boot/config.xxx to /usr/src/linux/.config, what did I do? Why didn't I need something like that there before?

After uncompressing an install package, if I see a Makefile, does that mean I can type "make" and good things will happen? What exactly happens?

After that, how would I know to "make install"? Could the install ever be included in the first make? What happens when you "make install"? Does that install the thing, or (as seems to be the case here) just create object files that allow you to install?

After that, is it typical to have to "modprobe" some object files? If so, will those always be somewhere in /lib/modules/2.xxx/ ?

In general, doing anything in a shell more than once, without doing something else in between, will not change anything, right? (I ask because I think I told the prompt to "make dep" more than once, and then it occurred to me that there might be some record that "make" increments, in which case it would have been incremented twice, erroneously reflecting a single change.)
hughesjr
dooooooooh!

do the modprobe without the .o on the end....

Like this:

modprobe wlan
modprobe ath_hal
modprobe ath_pci


Sorry about that... tongue.gif
hughesjr
As for kernel source ... it has do be installed any time you upgrade your kernel....so yes it would need to be reinstalled.

You would need to rebuild all kernel modules (like the madwifi modules) if you upgraded your kernel. (And you would need to update the kernel source to do that).

Kernel source code is used to produce (build) a kernel ... most linux users (except for Gentoo users) don't usually build their own kernels .. they get them pre-built (as you did). In the old days, if you wanted to add support for a device that wasn't in the kernel, you patched the source code and rebuilt your kernel. Now we have modular kernels ... so you can add kernel modules without rebuilding the whole kernel. That is what we are doing with the madwifi files ... that is what wlan.o, ath_hal.o, and ath_pci.o are, kernel modules.

If you were going to build a whole new kernel, Mandrake and RedHat put the custom on the extra version line so the new kernel doesn't over write the old one by default ... but if you built kernel modules using custom in the line, you would not be able to use them on the curent kernel named 2._number_mdk (only on a kernel named 2._number_mdkcustom) ... you would have to rebuild the kernel, and the new one would be named 2._number_mdkcustom instead of 2._number_mdk ... and the modules for the kernel would be in /lib/modules/2._number_mdkcustom instead of /lib/modules/2._number_mdk.

So if you want to add kernel modules to RedHat or Mandrake kernels, you have to edit that line in the kernel source Makefile.
-----------------------------
The config file is the file that is provided by the Distro that was used to build the Binary kernel that they provided...If you copy the config file down and run make oldconfig, you can build a kernel will the settings of the current kernel ... we want to get all the dependancies installed so we can buils modules for the current kernel, so we include the config file for the current kernel, do a make mrproper (to erase all the old stuff that might have been built in the kernel source), then we copy down the actual config file of the current kernel ... we make sure to take out the custom in extraversion so we can build agianst the current kernel ... and then we do a make dep (only required on 2.4.xx kernels, not 2.6.x kernels) to make all the dependancies so we can actually either build a new kernel (which we don't want to do), or build kernel modules for the current kernel.
----------------------------
Make is utility program that compiles code (with a compiler like gcc) based on the Makefile. C is a progamming language ... C code (text written by the author) is compiled into a binary file (and binary libraries) to use on a computer. The main shared library, glibc, and other shared libraries (like qt) are on your linux install ... you have a certian version of the shared libraries, and your c complier (gcc) will use shared libraries so that the same code doesn't need to be compiled into every program ... they can call the shared libraries instead. See man make from a terminal window for more info on make.

Most packages in most linux distros are no longer compiled by the user (gentoo and a couple other source distros are the exception to this) ... they come precompiled (in an rpm format for Mandrake, SUSE, RedHat ... in a .deb format for debian ... in a special .tgz for slackware, etc.) and are installed to specific places. These precompiled programs required specific versions of a shared library (which they were compiled agianst). So rpm has dependancy checking ... an rpm won't install if it requires version x.y of another package and you have version x.w ... it tells you that version x.y od other_package is required to install the package you are trying to install.

This can be quite frustrating if you don't have something to resolve all the dependancies for you ... for mandrake, that thing is urpmi ... for RedHat, I use apt-rpm (and redhat includes up2date) ... for slackware, I use swaret ... for debian, apt and dselect ... for gentoo, there is emerge.

So you probably won't be using make to often ... just for packages not supported by urpmi. (Like the madwifi drivers).
-------------------
Normally, make creates the binary files and make install moves the files where they go.

Making a kernel has several steps ... making a program like madwifi is much easier ... it's not very big and everything can be done in one pass.

Sometimes doing make more than once can cause problems ... but usually it doesn't. With most source code, you can use make clean to get rid of all compiled stuff and start over.
------------------
modprobe is module probe ... it is used to load a kernel module. So if you just made a kernel module and you want to test it, modprobe is the thing to use....
-----------------
I would not upgrade between releases ... I would erase everything and reinstall. Mandrake 10 includes a 2.6.3 kernel, that might have support for your network card built in.
jeff_brown
blink.gif This is fun, but I am disoriented. I get no errors, I get no feedback at all, and I am unable to connect to the net.

Everything you instructed went without a hitch. Should that mean the drivers are installed and running? I don't know how to find them, and Mandrake seems not to know that I have any card other than a winmodem.

If the drivers are installed, I would have thought there'd be nothing ledft to do, because the router I connect to has me on only the default settings. More importantly, though, there ought to be some menu somewhere letting me choose my addresses and channels, etc., for the wireless card.

There was a bit that looked promising in the DrakConnect Wizard, where it asks "Shall we auto-detect for internet connections?" I said yes, and it found the aforementioned winmodem. I unchecked that and checked "ADSL" (assuming that meant DSL, since there was no entry called DSL). Then it asked "How shall we connect?" and offered PPPoE, PPTP, DHCP, and some others. I didn't know what to pick. On windows I use a MAC address, not PPPoE. Would one of those other options cover a MAC address?

I suspect that last paragraph is totally irrelevant, though, because the machine does not yet know I have what I have.

I know that I can't connect to the net yet, but I don't know what's missing. Where your instructions ended, you said start on step 4 of the FAQ. If I interpret right, at that point they're assuming you have the card working. They don't say how to use it -- just what to do if something goes wrong. Nothing has a chance to go wrong for me!


P.S. I got sidetracked by a little adventure -- seeking greater comfort, I used a utility from Mandrake Control Center or something to lower my resolution. Then X would not start. Someone one the internet with a similar problem had been told to modify the config file in /etc/X11. (He gave up.) I tried following the advice he was given, and copied all the lists of resolutions from config.old. Now it is working again, but I fear that the Mandrake utility might have made other adjustments that I did not undo. Should I be afraid right now, or content?
hughesjr
OK, reboot ...

load the 3 modules with modprobe and look in the syslog:

less /var/log/messages

Post everything concerning wlan, ath_hal, ath_pci, ath0.

Also do the command dmesg and post anything that is different...about the above devices...
hughesjr
If the logs show that ath0 is loaded try the command:

ifconfig ath0 up

Now you should be able to get an output via:

ifconfig

iwconfig
jeff_brown
Roger.

After loading the 3 modules, /var/log/messages and dmesg were in perfect agreement on the following:

wlan: 0.7.3.1 BETA
ath_hal: 0.9.8.6
ath_pci: 0.8.5.4 BETA
ath0: mac 5.6 phy 4.1 5ghz radio 1.7 2 ghz radio 2.3
ath0: 11b rates: 1 Mbps, 2 Mbps, 5.5 Mbps, 11 Mbps
ath0: 11g rates: 1 Mbps, 2 Mbps, 5.5 Mbps, 11 Mbps, 6 Mbps, 9 Mbps, 12 Mbps, 18 Mbps, 24 Mbps, 36 Mbps, 48 Mbps, 54 Mbps
ath0: 802.11 address: 00:0d:88:8b:dd:fe
ath0: Atheros 5212: mem = 0xfbe00000, irq = 11

ifconfig printed three paragraphs to the screen. (I'm copying by hand since Linux can't talk to Windows or to the Internet, so I didn't write them down. I will if it helps.)

The last command, iwconfig, bash could not find.


Sound good? Where do I stand? Are the drivers installed?
hughesjr
what does:

ifconfig ath0 up

do?

Also try:

ifup ath0

The iwconfig is important if you have a ESSID assigned to your network...
jeff_brown
Greetings! Things continue to chug along over here. My profuse thanks for keeping this snail's pace with me.

Immediate tests:
"ifconfig ath0 up"
returns no result at the command line -- it's just like pressing the enter key

"ifup ath0"
returns
"/sbin/ifup: configuration for ath0 not found
Usage: ifup <device name>"

ESSID: I hope it isn't important, because that word is not contained anywhere in the PDF manuals for the router or the adapter. Might DHCP serve as a substitute? Windows tells me my card is connecting to DHCP Server 192.168.0.1. It also tells me that it is configured to find IP (local?) and DNS server addresses automatically.

More details on running "ifconfig" (with no arguments): Earlier I said it returned "a lot" and didn't report what. Here is a sketch of what it gave:

a paragraph of information for each of eth0, ath0 and lo. They all are "running", and had various addresses assigned to variables. Most of the other values reported (such as frames and interrupts) were zero, with a few notable exceptions:

lo:
190 RX packets, 190 TX packets

eth0:
interrupt 11
txqueuelen 100

ath0:
4637 RX packets, 15 TX packets
36 errors
frame 36
interrupt 11
txqueuelen: 199

If I try to connect to www.(anything).com, the number of TX and RX packets sent goes up by a figure roughly equal to what I've reported here -- for instance, after trying four times to connect to something, ath0 reports (having sent?) 60 TX packets.
hughesjr
try this ....

install these packages like this:

urpmi libiw wireless-tools

find ifcfg-eth0 and in the same directory, create a file named ifcfg-ath0 ... and put this in it:

CODE
DEVICE=ath0
#
#
BOOTPROTO=dhcp
ONBOOT=yes
#
TYPE=Wireless


then try:

ifup ath0
jeff_brown
Sure ting mon. We be jammen.

"ifup ath0" now prints a line: "Determining IP info for ath0 ..." takes a few seconds, then prints "... done."
hughesjr
And do you now how internet access.....?

If so, we can start automating the process.....
jeff_brown
Mmm ... sutomating ... sounds like fun.

Alas, we're not there yet; I don't think I have internet access. The only way I know to test whether I have internet access is to open up a browser (I used Konqueror) and type in a URL. I did and it failed -- "unknown host".


Questions:
Should I still be running modprobe [wlan, ath_hal, ath_pci] after every reboot?

ifconfig and ifup are both just tests, right? Or do they modify something?


iwconfig results
iwconfig, which bash couldn't recognize before, now returns a bunch of data. Here's the gist of it.

lo -- no wireless extensions

eth0 -- no wireless extensions

ath0 -- IEEE: 802.11, ESSID: "default"
Mode: Managed ...
[skipped some stats]
... 36 MB/s, Sensitivity: 0/3
[The following variables were all set to "off": Retry, Tx-power, RTS thr, Fragment thr, encryption key, power mgmt]
Link quality: 29 / 94
Signal level: -66 dBm, Noise level: -95 dBm
[The following variables were all set to "0" (zero): Rx invalid nwid, Rx invalid crypt, Rx invalid frag, Tx excessive retries, invalid misc., missed beacon]
hughesjr
Side note: We are almost there .... BUT, I think Mandrake 10 Community supports that card with a normal install ... would you want to try that soon?

--------------

The ifup should actaully get you an IP address from the router ... do you have the router set to give IPs in dhcp? Did you include a DNS server with that or are you entering that manually on your other configurations?
-------------

Here is some automation -

edit the file /etc/modules.conf and add this:

alias ath0 ath_pci
pre-install ath_pci modprobe ath_hal
pre-install ath_hal modprobe wlan


-------------
Next edit the file /etc/sysconfig/network-scripts/ifcfg-eth0 and make sure the line:

ONBOOT=no

if it is yes, make it no ... if it isn't there, add it ...

make sure the ifcfg-ath0 has:

ONBOOT=yes
-----------
reboot the PC

after you login, do this:

lsmod

You should see the modules:

ath_pci
ath_hal
wlan

are now loaded

The command ifconfig should show at least 2 entries ...

lo

and

ath0

Hopefully the ath0 entry has an IP address ...

Did you assign an ESSID: to the router in it's setup or is it still set to default? (In the router book, it's called SSID not ESSID)
jeff_brown
Happy St. Patricks!

Procedures:
I edited the etc files as per your instructions. After that, lsmod did list the 3 modules in question. ifconfig showed only two entries, lo and ath0. Here is some of the data on ath0:

inet address 192 168 0 101, Bcast 192 168 0 255, Mask 255 255 255 0
errors: 1

Konqueror still won't connect to anything.

One question from me:
> ifup should actaully get you an IP address from the router
Shouls that have printed to screen, or just secured the address for use?

Three responses for you:
> I think Mandrake 10 Community supports that card with a normal install ... would you want to try that soon?
When I installed 9.1, I had to partition my hard drive, which meant squishing all of Windows's (XP Home) stuff into a solid block on one end and then drawing a line somewhere. As I recall the procedure was "experimental", or hazardous or something. If it still is on 10, then I would be leery. Do you know?
How much work is it, to keep Windows and update Linux when they're on the same hard drive? It does sound like 10 is probably better ... I'll think about it.

> do you have the router set to give IPs in dhcp?
> Did you include a DNS server with that or are you entering that manually on your other configurations?
I don't know what those things are, but I found both the terms DHCP and DNS in the following list of settings somewhere in Windows:

Physical Address: 00-0D-88-8B-DD-FE
IP Address: 192.168.0.101
Subnet Mask: 255.255.255.0
Default Gateway: 192.168.0.1
DHCP Server: 192.168.0.1
Lease Obtained: 3/17/2004 1:11:44 PM
Lease Expires: 3/24/2004 1:11:44 PM
DNS Server: 192.168.0.1
WINS Server:

> Did you assign an ESSID: to the router in it's setup or is it still set to default?
Unless leprechauns are adjusting stuff behind my back, it is still set to default.
hughesjr
Looks like you have an IP address. The only thing you probably need is a resolv.conf file in /etc.

Edit the file :

/etc/resolv.conf and add this line at the top:

nameserver 192.168.0.1

Then save the file....

what is the output of this command:

ping -c 10 192.168.0.1

Try your browser again...
jeff_brown
I modified resolv.conf. It had already had the line
nameserver 192 168 0 1
in it, but previously it was the second line, under
nameserver 127 0 0 1
at the top. So I switched those two lines.
For the sake of completeness, the third and only other line is:
search localhost local

Then I reboot and immediately try to browse something. No connecting. I try ping, which reports 10 transmitted, 0 received, in about 9 seconds.

I seem to remember getting stuck at the ping step a few years ago, on a different computer. Makes me feel drunk.

What do you think?
hughesjr
Not sure ... you are getting an IP address from DHCP (so you can connect to the router and get information from it via the wireless) .... but you can't ping the router, so Linux doesn't know yet how to route out.

We are VERY close.

try pinging the other computer in the network .... and have him try to ping you.... at 192.168.0.101 (both when booted in WinXP and in Linux)

Also, Post the output (in linux) of this command:

route -n

Now you shouldn't have to do anything on booting linux (all the modules should load automatically)...

Also post the output of this command in WinXP (from your PC, connected to the wireless router, from the command prompt):

route print
Robert83
Hi,

One thing I'm using Linksys bridges, you need to specify the route on the bridge unit. So you can try this to.

Sincerely
Robert B
hughesjr
@Robert83 ... that is what I was thinking as well .... that somehow his default gateway isn't getting set via the DHCP server. After the route -n results get posted, we'll know for sure....
jeff_brown
@Robert83: Howdy Robert! Welcome aboard!

@All: Here are this morning's adventures:

Windows reports:
C:Documents and SettingsOwner>ping 192.168.0.101

Pinging 192.168.0.101 with 32 bytes of data:

Reply from 192.168.0.101: bytes=32 time<1ms TTL=128
Reply from 192.168.0.101: bytes=32 time<1ms TTL=128
Reply from 192.168.0.101: bytes=32 time<1ms TTL=128
Reply from 192.168.0.101: bytes=32 time<1ms TTL=128

Ping statistics for 192.168.0.101:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

C:Documents and SettingsOwner>route print
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x2 ...00 0d 88 8b dd fe ...... D-Link AirPlus Xtreme G DWL-G520 Adapter - Packet Scheduler Miniport
===========================================================================
===========================================================================
Active Routes:
Destination------Netmask----------Gateway-------Interface---------Metric
0.0.0.0----------0.0.0.0-----------192.168.0.1----192.168.0.101-----20
127.0.0.0--------255.0.0.0---------127.0.0.1------127.0.0.1---------1
192.168.0.0------255.255.255.0----192.168.0.101--192.168.0.101----20
192.168.0.101----255.255.255.255--127.0.0.1------127.0.0.1---------20
192.168.0.255----255.255.255.255--192.168.0.101--192.168.0.101----20
224.0.0.0---------240.0.0.0---------192.168.0.101--192.168.0.101----20
255.255.255.255--255.255.255.255--192.168.0.101--192.168.0.101-----1
Default Gateway: 192.168.0.1
[This forum omits "unnecessary" whitespace, so I've tried to format these in a manner that will be reasable. I hope they are.]
===========================================================================
Persistent Routes:
None

C:Documents and SettingsOwner>

[Strange that ping works, because I don't think Kevin's computer is on right now. I can't check; the door's locked.]


Linux reports:
Ping was successful. It printed over and over
64 bytes from 192.168.0.101 icmp_seq = (n=1, n++) tt1 = 64 time = 0.75ms. (more or less)

route -n delivered this:
Kernel ip routing table:
Destination----------Gateway--------Genmask----------Flags------------Interface
192.168.0.0---------0.0.0.0----------255.255.255.0----U----------------ath0
127.0.0.0-----------0.0.0.0-----------255.0.0.0--------U----------------lo
0.0.0.0-------------192.168.0.1-------0.0.0.0---------- UG---------------ath0
[There were also columns for "metric", "ref" and 'use", holding only zeros.]


Comments:
I can see that the stuff Linux reports, Windows reports a bit differently -- they have the same mask numbers, but different gateway numbers, and Windows uses a number for the interface column, whereas Linux uses a variable, so for all I know they have different interface information too.

I haven't adjusted Linux to match. (Not that I would know how to do that.)
Robert83
Hi,

try using 192.168.0.101 as the gateway for the linux comp

route del default gw 192.168.0.1
route add default gw 192.168.0.101

also make sure you use a valid nameserver

in resolv cont /etc/resolv.conf

nameserver xxx.xxx.xxx.xxx [for example my internal DNS server is 192.168.0.250, for me it's nameserver 192.168.0.250]

Sincerely
Robert B
jeff_brown
I tried:
route del default gw 192.168.0.1
route add default gw 192.168.0.101
and I modified resolv.conf, and still no connecting.

Weird thing: Every time I modify resolv.conf, I put 192.168.0.1 at the top, and every time I reboot and look at the file, it has 127.0.0.1 at the top and the other below.
Robert83
Hi,

So I guess first you should try to ping some public IP adress once you've set the route to 192.168.0.101,

like get the IP adress of www.google.com , and ping google like ... ping xxx.xxx.xxx.xxx [ip adress of www.google.com] and see what hapens .

Sincerely
Robert B
hughesjr
The changing resolv.conf is because you have the card set to dhcp ... and that is the info coming from the dhcp server ... not a huge deal. Either should work.

Your router has a range that it is going to issue ip addresses in. Looks like it might start at 192.168.0.100 ... let's try a static IP and some other Wireless parameters ... I am going to assign your IP statically to 192.168.0.90 for Linux and we will see if that helps..

in the file:

ifcfg-ath0

replace all the stuff I gave you before with this:

CODE
STARTMODE=hotplug
DEVICE=ath0
BOOTPROTO=static
IPADDR=192.168.0.90
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
GATEWAY=192.168.0.1
ONBOOT=yes
WIRELESS=yes
WIRELESS_MODE=Managed
WIRELESS_ESSID=default
WIRELESS_RATE=54M
WIRELESS_IWPRIV=mode 3


Reboot .... the command ifconfig should say this:

CODE
ath0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
              inet addr:192.168.0.90  Bcast:192.168.0.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

(don't worry about the HWaddr ... but, if the line that starts with UP isn't exactly that, post what it is).

You may have to use a different WIRELESS_RATE ... I picked the fastest one your card / router supports. The one that you had before was WIRELESS_RATE=36M

Issue the command iwconfig .....

You should have connection information...
jeff_brown
This is like getting stranded on the roof of a McDonald's and starving to death.

Most recent headway:
I erased ath0 and replaced it with what you sent, rebooted and ran ifconfig, and got exactly what you planned. iwconfig also seemed to work (see below). No connecting. Then I tried changing WIRELESS_RATE to 36 and rebooting, but that did nothing.

iwconfig returned the following. I don't know if it qualifies as "connection information":
IEEE 802.11g-----------ESsid: default-----------Nickname: localhost
Mode: managed-----------Frequency: 2.437 Ghz-----------Access Pt; 00:0d:88:88:1f:f1
Bit Rate: 54 MB/s-----------Tx-Power: off-----------Sensitivity: 0/3
A bunch of stuff that's all off.
Link Quality: 25/94-----------Signal Level: -70 dBm-----------Noise: -45 dBm
A bunch of stuff that's all zero.

When I changed the bit rate to 36, I got a slight difference:
Link Quality: 28/94-----------Signal Level: -67 dBm

@hughesjr
You said "It looks like the router will assign IP addresses from a range starting at 192 168 0 100," and then you said "Let's try a static IP address of 192 168 0 90." Isn't that outside the specified range?
Robert83
Hi,

it's only out of the DHCP specified range...doesn't matter much ... DHCP stand for Dynamic Host Configuration Protocol, it's only for assigning ip adresses to clients automaticaly ,making the life of system administrators , and usert easier , so it not a problem at all if you specify a IP adress manualy.

Sincerely
Robert B
jeff_brown
So what would you need to keep in the DHCP range?
hughesjr
In the range would be BAD ... because that same address MIGHT be assigned to another comptuer by the DHCP server automatically ... and you have it manually assigned to a computer as well ... so neither of the computers would work (your router would get confused at have 2 computers with the same address).

I have no Idea why it isn't working .... all the drivers are installed ... it has to be something to do with Keys or the router setup.

I am at a loss....try reading both the router manual and the card manual and see if you can match all the options on the router to match what you have in linux.
jeff_brown
Hello everybody! I'm writing this from home, on Linux. I lugged this machine to a LUG this morning in LA, and somebody there discovered that I had a firewall stopping anything incoming. Apparently it's been running since I installed Linux.

Now the world is my oyster. Ha-ha!

I offer my sincerest, profusest thanks. Mr. Hughes, in particular -- I feel like you ought to get a Nobel Peace Prize.

--Jeff Brown
jeff_brown
I think I still have a question.

Right now I'm running with no encryption. Apparently that's bad.

Any form of encryption that I put on the router has to be such that my modification-phobic housemate Kevin can also use it. Remember, he's using Windows and physically plugged into the router, whereas I dual-boot Windows and Linux.

I was told that an easy way to secure the traffic would be to tell the router only to accept internal signals from a given set of MAC addresses, and then give the (hardwired, yes?) MAC addresses for my adapter and Kevin's ethernet card. How would I discover what my MAC is, and equally importantly, what Kevin's is? Could I find Kevin's from mine, or would I have to actually walk over ten feet to his room:?

On mine, I've run iwconfig and ifconfig, and both report what look like MAC addresses associated with ath0 -- that is, six pairs of hexadecimal digits. However, they are not the same addresses! One is called HWaddr, the other Access Pt. Is either of those my MAC address? If so, it will be the same number independent of whether I'm running Windows or Linux, correct?

While I fear some jerk neighbor committing credit card fraud, I presently have a greater fear of telling the router "only accept signals of kind blah", and entering the wrong blah, so that I can no longer access the router.
Robert83
Hi

HW adr . is the MAC adress of you're card...

and the Acces Pt. is the MAC adress of you're acesspoint ...

Yes you will have the same MAC adress in Linux and in Windows, it's actualy on the card itself...


Sincerely
Robert B
jeff_brown
Cool! So now I want to tell the router to only accept requests from computers with certain MAC addresses. I can tell it what mine is, and it will accept mine. But I also have to tell it what Kevin's is, or Kevin won't be able to use the internet. Kevin is never home at the same time as me. Would the router know what his address is, while his machine is off?

So far I see three MAC addresses. Two I am told of by my own Linux shell, and two are told to me by the router. (They overlap -- there is one address that both report.) HWaddr, from my shell, is my MAC address. Access point, told to me from shell, is numerically equal to "LAN MAC address", told to me by the router. What is an "access point"? The router? Kevin's computer? The MAC address of the equipment at Earthlink that we connect to?

There's one other number the router tells me about: WAN MAC address (with a W not an L). What's that?

Let me summarize in table form, for easier reading:
shell "HWaddr" ... my adapter
shell "access point" = router "LAN MACaddress" ... what?
router "WAN MAC address" = what?

I'm hoping one of these is going to be the MAC address of the other computer on the network.
hughesjr
The access point the the MAC Address that you connect to wirelessly on the router...it is a LAN address.

LAN is the local area network ports (that is the 4 you can connect to wired and an access point that the wireless machines can connect to) ... the WAN Port is the Wide Area Network Port (aka the internet connection port).

The WAN MAC address is the Output port to the Modem .... if you turn on his PC (you don't have to login) you should also see his MAC address connected to the Router....OR

Since your IP was 192.168.0.101 ... I think his IP is 192.168.0.100.

With his PC on, ping 192.168.0.100 ... then use this command to see his MAC address:

arp

Keep pinging until you get a result near 192.168.0.100 (maybe .102) here is the result of my arp command after pinging the PC's on my network:

[root@WhiteBoxLinux root]# arp
Address-------HWtype---HWaddress-------Flags Mask--Iface
192.168.0.1---ether--00:A0:CC:57:4F:DA--C----------eth0
192.168.0.4---ether--00:E0:81:00:14:9B--C----------eth0
192.168.0.16--ether--00:A0:CC:62:6D:2C--C----------eth0
192.168.0.21--ether--00:A0:CC:55:DD:64--C----------eth0
192.168.0.24--ether--00:A0:CC:D9:73:93--C----------eth0
192.168.1.198-ether--00:A0:C9:6B:E6:27--C----------eth1


MAN --- I was going to recommend that you turn off IPTABLES and try to connect...I'm glad you got it working.
jeff_brown
It works!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2017 Invision Power Services, Inc.