Unable to connect with Edimax EW-7108PCg and 2.6.24 kernel

Live forum: http://rt2x00.serialmonkey.com/viewtopic.php?t=5045


17-10-2008 15:52:14

Hi all,

I'm having some issues getting my Edimax EW-7108PCg PCMCIA card working on with my laptop.

I'm running a 2.6.24 kernel (under Debian Etch, FWIW). The same card has worked previously with older kernels with the legacy out-of-tree drivers the serialmonkey team produced, however the new in-tree drivers don't seem to work for me.

Any suggestions are welcome!

Here are my symptoms

1. When I insert the card, the kernel recognises it, and the correct drivers are loaded
dmesg output:

Oct 17 16:34:10 orangutang kernel: pccard: CardBus card inserted into slot 0
Oct 17 16:34:10 orangutang kernel: PCI: Enabling device 0000:03:00.0 (0000 -> 0002)
Oct 17 16:34:10 orangutang kernel: ACPI: PCI Interrupt 0000:03:00.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
Oct 17 16:34:11 orangutang kernel: ADDRCONF(NETDEV_UP): wlan0: link is not ready
thhp@orangutang:~$ lsmod | grep ^rt
rt2500pci 18752 0
rt2x00pci 10048 1 rt2500pci
rt2x00lib 20096 2 rt2500pci,rt2x00pci
rtc 13148 0

2. At this point the link and tx/rx lights on the PCMCIA card come on. When I set the essid using iwconfig the tx/rx light flickers briefly.

3. Now I attempt to connect to my access point using 'dhclient wlan0'. No lights on the card flash, and no DHCP is forthcoming. The access point is currently running without encryption to simplify debugging, and I'm fairly sure it is working OK as I can access it using other wifi equipment.

For reference, here's my lspci output
thhp@orangutang:~$ sudo lspci -vv | grep -A10 RaLink
03:00.0 Network controller: RaLink RT2500 802.11g Cardbus/mini-PCI (rev 01)
Subsystem: RaLink Unknown device 2560
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64, Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 11
Region 0: Memory at c4000000 (32-bit, non-prefetchable) [size=8K]
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

And here's the iwconfig information
thhp@orangutang:~$ sudo /sbin/iwconfig wlan0
wlan0 IEEE 802.11g ESSID:"xxxxxxxx"
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Tx-Power=27 dBm
Retry min limit:7 RTS thr:off Fragment thr=2346 B
Encryption key:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

One further point, I did try building a snapshot of the legacy driver (rt2500-1.1.0-b4) however it appears this code isn't compatible with 2.6.24 -- I get a number of build errors relating to "SA_SHIRQ" and "pci_module_init".


17-10-2008 17:51:03

dhclient is _not_ the command to start an association. It is a command to obtain an IP address _after_ you established a connection.

To start a connection you must use the command
iwconfig wlan0 ap <BSSID>
where <BSSID> is the MAC address of your Access Point.


18-10-2008 12:16:29

Thanks for the reply, IvD
[quote3a0xy2nu]To start a connection you must use the command
iwconfig wlan0 ap <BSSID>
where <BSSID> is the MAC address of your Access Point.[/quote3a0xy2nu]
I gave that a try. On execution of that command the rx/tx light flashes momentarily, but I'm still unable to obtain an IP address.
thhp@orangutang:~$ sudo /sbin/iwconfig wlan0 essid xxxxx
thhp@orangutang:~$ sudo /sbin/iwconfig wlan0 ap 00:12:17:C2:64:5A
thhp@orangutang:~$ sudo dhclient wlan0
Internet Systems Consortium DHCP Client V3.0.4
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
wmaster0: unknown hardware address type 801
wmaster0: unknown hardware address type 801
Listening on LPF/wlan0/00:0e:2e:66:96:b8
Sending on LPF/wlan0/00:0e:2e:66:96:b8
Sending on Socket/fallback
DHCPDISCOVER on wlan0 to port 67 interval 5
DHCPDISCOVER on wlan0 to port 67 interval 13
DHCPDISCOVER on wlan0 to port 67 interval 14
DHCPDISCOVER on wlan0 to port 67 interval 16
DHCPDISCOVER on wlan0 to port 67 interval 11
DHCPDISCOVER on wlan0 to port 67 interval 2
No DHCPOFFERS received.
No working leases in persistent database - sleeping.
FWIW, I've tried several alternative methods of initialising the card, none of which have worked. Initially, I was editing the configuration in /etc/network/interfaces and restarting either the entire networking subsystem via. '/etc/init.d/networking restart', or simply the wlan0 interface via. 'ifup / ifdown wlan0'.

All I have set in /etc/network/interfaces is my essid
[code3a0xy2nu]# Wireless network interface
iface wlan0 inet dhcp
wireless-essid xxxxxxx
I don't think I should need anything more than that for the basic, unencrypted case.

One more data point
thhp@orangutang:~$ sudo iwlist wlan0 scan
wlan0 No scan results
As I mentioned before, I'm fairly confident the access point is running OK as it is working with other wireless devices...


20-10-2008 23:25:58

2.6.24 is a pretty old kernel by rt2x00 standards, I think it was the first one to officially include the rt2x00 drivers. I can't remember what cards were and weren't working at that time but I do remember it wasn't perfect. If you can't upgrade to a newer kernel you could try using compat-wireless which is an attempt to port the more recent drivers back to older kernels (http//linuxwireless.org/en/users/Download). Debian don't appear to have packaged it though so it looks like you have to build for yourself.


21-10-2008 21:46:02

Thanks for the suggestions, AdamBaker.

I'll keep on chipping away at this and see if I can get any success. I think upgrading the kernel will probably be the simplest thing rather than compiling compat-wireless, but I need to figure out how to work with backports in Debian.

When I get the card working I'll post back here with what I had to do.


23-10-2008 21:29:30

Well, I found a "solution", which in this case was to update my kernel to 2.6.26 (from 2.6.24). I did this using the Debian Backports repository, if anyone else has a similar problem


With this kernel I am able to bring up my card using WEP. The only oddity is that the 'Link' light on the card doesn't light up, but I can live with that!

I'm still not sure what was actually wrong previously, which is a bit frustrating, but I guess AdamBaker's suggestion that the driver included with 2.6.24 'wasn't perfect' probably covers it.

Thanks to everyone for their helpful suggestions, and thanks also to the serialmonkey project for working to support the ralink cards in the mainline kernel -)