Linux - Wireless NetworkingThis forum is for the discussion of wireless networking in Linux.
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.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
For the drivers, go to http://www.edimax.com, click on "downloads" and they're all listed. There is one driver package per card, Mine (the EW-7126, which is a PCI card and not a PC card) contains drivers for Redhat 7.1, 7.2, 7.3, 8.0 and 9.0, and Suse 8.2).
For each distribution there is a ready made driver, plus the source for the "open" part, and the closed-source object. Recompiling certainly helped me, even though there was a ready-made driver for my distribution. The makefile incorporates the closed source object into the newly compiled driver. This is a bit of a compromise, 'cos you are still dependent on the kernel used to compile the "secret" bit.
Yet another piece of software which makes it difficult to upgrade my kernel in the future. They really must open-source this stuff!
As far as my scripts are concerned, I used the ones supplied in the above-mention packages, and simply added a line to create a default routing entry. didn't need to do a thing with any additional iwpriv commands.
I do still have an issue which I discovered after my previous post. If you bring down the wlan link on the box, it won't come up again, and this seems to be because my AP still thinks the connection is active. Once the AP is rebooted, it works again. I'm looking for a command I can send the AP from the wlandown script to force it to drop the session, or maybe there is a timeout that can be set at the AP end. My AP is a US Robotics 2249. I'll post again when I've solved this issue.
I have been reading this thread for two days now, and have tried everything. I have tried v1.2 drivers (uncommenting the typecast), and v1.3 drivers. I have downloaded them from realtek, edimax, and 152.104.124.40.
I am running kernel 2.4.20-gentoo-r5 on a 500 mhz PIII Dell-latitude labtop.
I have had no problems compiling or loading the drivers.
dmesg gives me this:
******** RTL8180 Wireless Lan Driver Version 1.1 <2003-05-22> loaded********
PCI: Setting latency timer of device 06:00.0 to 64
RTL8180: 06:00.0: region #0 IS a PIO resource!
RTL8180: request_region(0x00004800,0x00000100) !
RTL8180: STA is NOT acting as AP!
RTL8180: LITTLE_ENDIAN memory access
RTL8180: station mode eeprom info
RTL8180: EEpromAddressSize = 8!
RTL8180: eepromID = 0x8129
RTL8180: EEPROMVersion = 0x0102
RTL8180: Tx Power Level, channel 0 = 0xd0
RTL8180: Tx Power Level, channel 1 = 0xd0
RTL8180: Tx Power Level, channel 2 = 0xd0
RTL8180: Tx Power Level, channel 3 = 0xd0
RTL8180: Tx Power Level, channel 4 = 0xd0
RTL8180: Tx Power Level, channel 5 = 0xd0
RTL8180: Tx Power Level, channel 6 = 0xd0
RTL8180: Tx Power Level, channel 7 = 0xd0
RTL8180: Tx Power Level, channel 8 = 0xd0
RTL8180: Tx Power Level, channel 9 = 0xe0
RTL8180: Tx Power Level, channel 10 = 0xe0
RTL8180: Tx Power Level, channel 11 = 0xe0
RTL8180: Tx Power Level, channel 12 = 0xe0
RTL8180: Tx Power Level, channel 13 = 0xe0
RTL8180: ChannelPlan = 0x0002
RTL8180: RFChipID = 0x0003
RTL8180: EEPROMVersion > 0x0101
RTL8180: AntennaDiversity = TRUE
RTL8180: CSThreshold = 0x000b
RTL8180: DigitalPhy = FALSE
RTL8180: DefaultAntennaB = FALSE
RTL8180: CSMethod = RCR_EnCS1
RTL8180: wlan driver loaded. ioaddr=0x4800, irq=11, MAC_addr=0:c:5b:4c:d5:c9
however, when I try to run iwpriv, it tells me that wlan0 has no ioctls. I cannot figure out how to fix this. I am completely lost, and very very frustrated.
Since my last post I have discovered the following:
My suspicion about a problem being caused by the Access Point not "hanging up" when a connection is dropped by rebooting the client, for example, is a red herring.
Just to say, my AP is a US Robotics 2249, although I really don't think at the moment that this is important.
What is actually happening in my case is quite strange, and I still don't know why, but I have put together a really horrible hack which has got my connection working fairly consistently. I will describe my findings in some detail, so that hopefully someone with more Linux knowledge than me can gain some insight from them. (I know the IBM AS/400 inside out, but can only dabble with Linux at the moment!)
EDIMAX MODULE
insmod the module provided by Edimax.
iwpriv wlan0 wlan_para ssid2scan=USR2249
iwpriv wlan0 wlan_para networktype=infra
iwpriv wlan0 enable
ifconfig wlan0 172.16.1.99
the result of this in dmesg, messages, or whatever, includes a set of messages saying "RTL8180: Scan PHY channel number = ...", followed by "RTL8180: Neither joining a BSS or starting an IBSS"
No connection to the AP is established.
REALTEK MODULE
insmod the module provided by Realtek.
iwpriv wlan0 wlan_para ssid2scan=USR2249
iwpriv wlan0 wlan_para networktype=infra
iwpriv wlan0 enable
ifconfig wlan0 172.16.1.99
messages report "TX Power Level, channel 0 = 0xdd" etc, for each channel. Then there is an endless cycle of "connected, authentication failure, roaming reconnected", etc.
The card is connecting and reconnecting to the AP about every 4 or 5 seconds, resulting in an intermittent network connection, with packets being lost all over the place.
Right, my horrible hack involves making use of both the Edimax and Realtek modules!!!!!! - and there is further weirdness as reported below. The following works for me:
1. Start with a freshly hard-booted machine.
2. insmod the Realtek module
3. iwpriv wlan0 enable
4. iwpriv wlan0 disable
5. rmmod the Realtek module
6. insmod the Edimax module
7. iwpriv wlan0 wlan_para ssid2scan=USR2249 (ie my AP's SSID)
8. iwpriv wlan0 wlan_para networktype=infra
9. iwpriv wlan0 enable
10. ifconfig wlan0 172.16.1.99
11. route add default gw 172.16.1.1
--- at this point network connectivity is achieved over the wireless link. But I haven't finished yet. If I bring the link down and then bring it up again:
iwpriv wlan0 disable
iwpriv wlan0 enable
- I get an "authentication failed" message in the log. So I issue a second "iwpriv wlan0 enable" command, and it works again. Only every second call of "iwpriv wlan0 enable" works. And this sequence is remembered by the machine across hard reboots and it doesn't matter if I issue an "iwpriv wlan0 disable" inbetween, or not.
The final twist in the tale is that after a soft reboot, steps 2, 3, 4 and 5 - the Realtek driver stuff, is NOT required. This is only needed once per hard reboot of the machine. Remember, I am removing the realtek module almost as soon as i've loaded it anyway, so it seems that iwpriv with the realtek module loaded is kicking off some process or setting some variable which is maintained until a hard reboot.
Two other things:
The message "be in station mode in start_xmit" appears in the log whether the connection is working or not, whenever an action calling on the wireless connection (browser, ping, ntp, etc) is initiated.
And I see the message "RTL8180: Re-activating netif" on the console as more or less the last message before the system shuts down or reboots. Has this got anything to do with what's going on? Is this some really horrible low level socket stuff? This message also appears if the wlan0 interface is brought down when the RTL8180 PCI driver is still active.
I'm going to try some stuff like compiling the Edimax open source part with the Realtek closed object, and vice versa, but for now, my brain hurts, so bye-bye.
Okay, having read this thread (and the MA521 thread elsewhere) here's my experience with this card:
Downloaded the 1.3 (gcc 3x) driver from Realtek, compiled, installed, loaded. No problems. (can provide the dmesg and /proc/rtl8180/status info if anyone cares, but really.)
dmesg says:
RTL8180: ------ Enable wlan driver ------
RTL8180: WLAN driver version 1.3
RTL8180: wireless LAN controller RTL8180 + philips RF.
RTL8180: PHILIPS_Config()
RTL8180: PHILIPS_Config() - Analog mode
RTL8180: ENABLE_RTL_DCST
RTL8180: Set dot11PrivacyInvoked = 0.
RTL8180: encryptmode = RTL_ENC_NONE
RTL8180: wepkeymode = WEP_MODE_OFF
RTL8180: Select a BSS and Join it at channel 1.
RTL8180: ----------------------------------------------------------
RTL8180: wlan0 Link status:
RTL8180: Channel number = 1
RTL8180: beacon period = 100
RTL8180: BSSID = 0x00:0x30:0xab:0x1f:0xf3:0xe4
RTL8180: SSID = aptest
RTL8180: Capability = 0x01
RTL8180: AID = 0x01
RTL8180: Operational rate = 0x0F <bit 0~3 = 1~11 Mbps>
RTL8180: ----------------------------------------------------------
So far, no problems. The system can stay up in this state indefinitely.
Now the fun begins:
dhcpcd -n wlan0
gets me nothing, and will lock the system fairly quickly.
ifconfig wlan0 192.168.0.102
seems to work, but doesn't. I can't even ping the interface IP, much less communicate externally.
ifconfig wlan down
will also lock the system. blinking caps and link lights, same as everyone else.
system: toshiba 2545xcdt, 333MHz K6, gcc 3.2, glibc 2.2.5, APM (no ACPI), kernel 2.4.22. Fairly heavily customised Slackware 8.1 laptop connecting to a Netgear MR314. WEP off for these tests.
Any suggestions, requests for more information, whatever? As soon as I see an ACPI patch for my version of the 2.4.22 kernel I'll try that, as some other Toshiba user mentioned that it helped them.
O, and if, after the enable step, you get a logging of attempts to connect in your syslog, double check that your card's MAC address is listed in your router's access filter. I lost two days to that stupid oversight.
I've been following this thread, but I'm confused: my WPC11 is
version 4, and "cardctl ident" tells me its "rtl8139", should I use
driver for 8180 or 8139? Thanks.
This is a cardbus card, so cardmgr doesn't need to read the ident off of the card to load the module, its IDs as a cardbus card and so cardmgr just loads cb_alloc and its part of the PCI devices from then on. That's why a normal pcmcia device doesn't appear under /sbin/lspci, but a cardbus card does.
With the device as a normal PCI device, hotplugging comes into it, and then hopefully loads the module. With most cards coming out as cardbus devices, now nearly everything pluggable: usb, scsi-emulated, firewire and pcmcia cards will all be controlled by the hotplugging daemon so you don't have to either A) insmod it by hand, B) rely on some nasty mess like Kudzu or Yast2, and C) have to have it be a seperate mess like pcmcia-cs.
Thanks. Well, but my question was which driver I should download from realtek? I'm running RH9 (2.4.20-8, gcc2.96) and not sure which one
driver from realtek should I installed?
linux24x-8139cp(160).zip (dated 2003/06/16)
or
rtl8180_linuxdrv_v13(gcc2.9x).zip (dated 2003/09/04)
I actually tried both drivers and both failed upon "/sbin/insmod -f" with
error said "init_module: No such device" and the usual warning and hints.
I have tried every version of this driver that is available on realtek's website -- I am running Arklinux, a Redhat-based distribution, that is running gcc 3.3.1 and kernel 2.4.23 -- when I try to compile it, I get the error:
In file included from /usr/src/linux-2.4/include/asm/semaphore.h:39,
from /usr/src/linux-2.4/include/linux/fs.h:204,
from /usr/src/linux-2.4/include/linux/capability.h:17,
from /usr/src/linux-2.4/include/linux/binfmts.h:5,
from /usr/src/linux-2.4/include/linux/sched.h:9,
from r8180_pci_init.c:26:
/usr/src/linux-2.4/include/asm/system.h: In function `__set_64bit_var':
/usr/src/linux-2.4/include/asm/system.h:187: warning: dereferencing type-punned pointer will break strict-aliasing rules
/usr/src/linux-2.4/include/asm/system.h:187: warning: dereferencing type-punned pointer will break strict-aliasing rules
In file included from r8180_pci_init.c:40:
r8180_type.h: At top level:
r8180_type.h:142: error: redefinition of `timer_t'
/usr/src/linux-2.4/include/linux/timer.h:41: error: `timer_t' previously declared here
make: *** [r8180_pci_init.o] Error 1
So, I opened r8180_type.h and commented out the line that defined timer_t -- It then compiled fine -- however, when I tried to insmod -f it, I got a segmentation fault -- when I lsmod, I can see rtl8180_24x in the list, but it's always stuck in the "initializing" stage.
I've tried to compile it with the 2.4.20 kernel source that I have, without uncommenting the timer_t stage -- it compiles OK, but when I insmod -f it I get a segmentation fault, with the same problem occurring. The same also occurs with all the binary rtl8180 modules I have tried to load....
I know I already asked this, but I haven't found the answer as of yet. Maybe I shouldn't complain, because my connection in it self is fine now. It has been stable for a while!
However both in dmesg and in messages I get every few seconds this:
I think the problem has to do with the fact that I don't have an AP. The thing is that all I want is to silence it. I'm not sure where to go from here. Can someone help me / point me in the right direction? Please?
w00, I got wireless to work!
I tried the binary SuSE module that I got from Edimax, and tried it WITH THE 2.4.21 KERNEL that I have -- it did NOT work with my 2.4.23, nor did any of the ones I compiled/tried to compile -- I don't really want to have to use my 2.4.21 kernel again, but if wireless works that's good enough for me -- all I had to do was enter some very basic values (ie: linksys for ssid2scan) and after that run
/sbin/dhconfig wlan0 to get it to enable DHCP
Thanks everyone, this is a great thread!
Does anyone know if some overruns are any big deal?
Other than that (which may be nothing to worry about) my v4 WPC11 works great on my Dell CPi after following this thread. It is very fast, just like my other Dell D500 running WinXP.
Here's my ifconfig with the 6 overruns after running for about 10 minutes (surfing and one 9MB download)...
RH9/WPC11
Almost everything works, the card is powered, the module is inserted, the wlanO reports correctly, cardctl works properly, but it is not connecting to my access point why how can I make it connect or what am I doing wrong...
This is the last step and I would like to start using Evolution instead of virus infested Lookout, please help...all I need is that elusive connection...
I am 100% newbie, but when I was at your point all I needed was DHCP.
I'm on Red Hat 9, so I gave it /sbin/dhclient wlan0
Other distros use different command, listed elsewhere in this thread
Of course if you want static IP then...
# Setup manual IP settings:
# /sbin/ifconfig wlan0 192.168.1.180
# Can also do netmask on same line:
# /sbin/ifconfig wlan0 192.168.1.180 netmask 255.255.255.0
# Now can ping router (internally)
# /sbin/route add default gw 192.168.1.1
# Now can ping router (externally)
Thanks. I tried it did not work. It kept getting no reply from the access point. Do I have to adjust my dhclient.conf configuration or what. Man this is so close that I taste it.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.