# Belkin Wireless G adapter problem

## datbenik513

Dear all,

Just done a fresh Gentoo install from scratch with the very latest kernel etc.

Board is a Via Mini-ITX one with a Nehemiah 1GHz CPU.

Now I am trying to get my Belkin Wireless G USB stick up and running. Crawling through the numerous posts in this and other forums did the following:

- compiled zd1211rw as module and have it autoloaded after ehci & uhci

- emerge zd1211-firmware

- emerge netplug as mentioned in https://forums.gentoo.org/viewtopic-t-559434-highlight-zd1211rw.html

Card is detected in lsusb as seen:

lsusb:

Bus 001 Device 003: ID 0d49:7410 Maxtor 

Bus 001 Device 002: ID 050d:705c Belkin Components 

Bus 001 Device 001: ID 1d6b:0002  

Bus 004 Device 001: ID 1d6b:0001  

Bus 003 Device 001: ID 1d6b:0001  

Bus 002 Device 001: ID 1d6b:0001  

Module is loaded ok:

lsmod:

Module                  Size  Used by

saa7134_empress         6660  0 

saa7134_alsa            9536  0 

saa6752hs               8076  0 

i2c_dev                 4996  0 

hwmon_vid               2304  0 

tuner                  30560  0 

tea5767                 5380  1 tuner

tda8290                11396  1 tuner

tuner_xc2028           15888  1 tuner

tda9887                 8196  1 tuner

tuner_simple            6792  1 tuner

mt20xx                 10248  1 tuner

tea5761                 4100  1 tuner

saa7134               118100  2 saa7134_empress,saa7134_alsa

v4l2_common             8704  2 tuner,saa7134

videobuf_dma_sg         9476  3 saa7134_empress,saa7134_alsa,saa7134

videobuf_core          13444  3 saa7134_empress,saa7134,videobuf_dma_sg

ir_kbd_i2c              6800  1 saa7134

ir_common              31876  2 saa7134,ir_kbd_i2c

i2c_viapro              6676  0 

tveeprom               12944  1 saa7134

zd1211rw               38276  0 

i2c_core               16528  15 saa6752hs,i2c_dev,tuner,tea5767,tda8290,tuner_xc2028,tda9887,tuner_simple,mt20xx,tea5761,saa7134,v4l2_common,ir_kbd_i2c,i2c_viapro,tveeprom

dmesg | grep "zd1211":

zd1211rw 1-1:1.0: phy0

usbcore: registered new interface driver zd1211rw

No ethx, no wlan interface created.

Could anyone point me to the right direction?

Thanks in advance for your support.

----------

## NeddySeagoon

datbenik513,

Welcome to Gentoo.

I have a different Belkin 54G to you but the similarities will help.  Firt the good news. You have the right driver.

Look in dmesg for something like 

```
[ 5244.836002] phy0: Selected rate control algorithm 'pid'

[ 5244.891061] Registered led device: rt73usb-phy0:radio

[ 5244.891078] Registered led device: rt73usb-phy0:assoc

[ 5244.891091] Registered led device: rt73usb-phy0:quality

[ 5244.891578] usbcore: registered new interface driver rt73usb

[ 5245.025387] firmware: requesting rt73.bin

[ 5246.033706] wlan0: Initial auth_alg=0

```

which is the beginning of the startup.  Do you see the firmware: requesting ...   line ?

I suspect your firmware is not in /lib/firmware (/etc/firmware works to) or your kernel does not support firmware loading.

Check with 

```
zgrep LOADER /proc/config.gz
```

 anything except 

```
# CONFIG_FW_LOADER  is not set
```

is the right answer.

----------

## datbenik513

 *NeddySeagoon wrote:*   

> datbenik513,
> 
> Welcome to Gentoo.
> 
> I have a different Belkin 54G to you but the similarities will help.  Firt the good news. You have the right driver.
> ...

 

Hi Neddy,

Actually the "usbcore: registered new interface driver zd1211rw" is the very last row returned by dmesg. There are no lines behind it.

My kernel is 2.6.25-gentoo-r7, just about the latest one.

I would be very surprised if emerge zd1211-firmware had put the firmware in the wrong location...

```

zgrep LOADER /proc/config.gz

CONFIG_FW_LOADER=Y
```

```

ls /lib/firmware/zd1211

zd1211_ub zd1211_uphr zd1211_ur zd1211b_ub zd1211b_uphr zd1211b_ur 

```

/etc/firmware is empty.

Actually I kind of like Gentoo. Have tried various distros from Mandrake (latest powerpack), a rather recent Ubuntu etc. Even with my absolutely NO Linux experience Gentoo seems the most attractive one once having understood the basics and done the first install by myself.Last edited by datbenik513 on Fri Sep 19, 2008 7:31 pm; edited 1 time in total

----------

## NeddySeagoon

datbenik513,

As there is no signs of fimware loading, so either your kernel does not know how, or the firmware is not there to load.

As you say, its not likely that emerge put it in the wrong place but rule one of diagnostics like this is never assume.

Gentoo is a good learning resource and works well for users of all abilities that have learning as one of their reasons for choosing to use Gentoo. Its useful too but it requires a lot of self control to not keep updating every day. You can do that but you increase the risk of breaking something.

----------

## datbenik513

I have placed the firmware also in /etc/firmware, still no changes.

----------

## NeddySeagoon

datbenik513,

Do 

```
zgrep LOADER /proc/config.gz
```

 what does that show ?

If /proc/config.gz does not exist, do 

```
grep LOADER /usr/src/linux/.config
```

instead

----------

## datbenik513

 *NeddySeagoon wrote:*   

> datbenik513,
> 
> Do 
> 
> ```
> ...

 

Hi Neddy,

```
zgrep LOADER /proc/config.gz

CONFIG_FW_LOADER=Y
```

```
grep LOADER /usr/src/linux/.config

CONFIG_FW_LOADER=Y
```

I should say it´s pretty obvious that it should work...but it does not...

Just wondering...since I have another issue with mounting external harddrives via the same USB ports, can it be related to some ehci/uhci conflicts?

Thanks for your support,

Zoltan

----------

## NeddySeagoon

datbenik513,

If you mix USB 1 and USB 2 devices on the same root hub, the USB 2 devices are supposed to fall back to using USB 1 speeds as a root hub can only operate at a single standard at a time.

Some USB 2 devices just cease to operate under these conditions.

usbview (emerge usbview) will give you a graphical view of your connected USB devices.

You do have firmware loading in your running kernel, so it makes me think you have another needed kernel option off as it appears that the firmware loader is never called.

Please post your lspci and kernel .config file.

----------

## datbenik513

```
lspci:

00:00.0 Host bridge: VIA Technologies, Inc. VT8623 [Apollo CLE266]

00:01.0 PCI bridge: VIA Technologies, Inc. VT8633 [Apollo Pro266 AGP]

00:0d.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80)

00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)

00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)

00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)

00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82)

00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge

00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)

00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50)

00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 74)

00:14.0 Multimedia controller: Philips Semiconductors SAA7133/SAA7135 Video Broadcast Decoder (rev d0)

01:00.0 VGA compatible controller: VIA Technologies, Inc. VT8623 [Apollo CLE266] integrated CastleRock graphics (rev 03)

```

Can I mail you .config instead of posting it here? 49k ...

----------

## NeddySeagoon

datbenik513,

I have your .config file. Can you post your dmesg too please.

It would be useful if  you do

```
modprobe -r zd1211rw 

modprobe zd1211rw 
```

before you make the post, then I am only interested in the messages produced by the two modprobes at the end.

Does your device have a switch on it?

It may need to be on to load firmware and work.

Your kernel does not have rfkill support but most USB devices don't need it.

Its a power saving feature to turn off the transmitter when its not needed

----------

## datbenik513

 *NeddySeagoon wrote:*   

> datbenik513,
> 
> I have your .config file. Can you post your dmesg too please.
> 
> It would be useful if  you do
> ...

 

Hi,

As requested, the relevant parts of the dmesg output

```

[i]Unplugging USB WLAN adapter[/i]

   usb 1-1: USB disconnect, address 2

[i]Replugging USB WLAN adapter[/i]

   usb 1-1: new high speed USB device using ehci_hcd and address 3

   usb 1-1: configuration #1 chosen from 1 choice

   usb 1-1: reset high speed USB device using ehci_hcd and address 3

   phy1: Selected rate control algorithm 'pid'

   zd1211rw 1-1:1.0: phy1

[i]modprobe -r zd1211rw[/i]

   usbcore: deregistering interface driver zd1211rw

[i]modprobe zd1211rw[/i]

   usb 1-1: reset high speed USB device using ehci_hcd and address 3

   usb 1-1: reset high speed USB device using ehci_hcd and address 3

   phy2: Selected rate control algorithm 'pid'

   zd1211rw 1-1:1.0: phy2

   usbcore: registered new interface driver zd1211rw

Nothing new, the device still does not work. The LED is steady green in it though, not red, not flashing etc.

There are no switches on it and it works perfectly on the same PC when I boot into XP.

Best regards,

Zoltan
```

----------

## NeddySeagoon

datbenik513,

Lets check that your driver will actually bind to the device.

```
grep  705c /usr/src/linux/drivers/net/wireless/zd1211rw/*

/usr/src/linux/drivers/net/wireless/zd1211rw/zd_usb.c:   { USB_DEVICE(0x050d, 0x705c), .driver_info = DEVICE_ZD1211B },
```

That grep command searches the driver for your DeviceID. If you don't get  the output I'm showing, from gentoo-sources-2.6.26-r1, you need to get a later kernel.

I don't see any signs of the driver binding to the device in your dmesg.

usbview will show if a device is not claimed by any driver - its name will appear in red.

emerge usbview if needed.

----------

## datbenik513

 *NeddySeagoon wrote:*   

> datbenik513,
> 
> Lets check that your driver will actually bind to the device.
> 
> ```
> ...

 

```
grep 705c /usr/src/linux/drivers/net/wireless/zd1211rw/*

/usr/src/linux/drivers/net/wireless/zd1211rw/zd_usb.c:        { USB_DEVICE(0x050d, 0x705c), .driver_info = DEVICE_ZD1211B },

/usr/src/linux/drivers/net/wireless/zd1211rw/zd_usb.c:  { USB_DEVICE(0x050d, 0x705c), .driver_info = DEVICE_ZD1211B },

```

I also saw that usbfs support was not enabled in my kernel, so I recompiled it with option enabled.

```
cat /proc/bus/usb/devices

T:  Bus=04 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2

B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1

P:  Vendor=1d6b ProdID=0001 Rev= 2.06

S:  Manufacturer=Linux 2.6.25-gentoo-r7 uhci_hcd

S:  Product=UHCI Host Controller

S:  SerialNumber=0000:00:10.2

C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA

I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2

B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1

P:  Vendor=1d6b ProdID=0001 Rev= 2.06

S:  Manufacturer=Linux 2.6.25-gentoo-r7 uhci_hcd

S:  Product=UHCI Host Controller

S:  SerialNumber=0000:00:10.1

C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA

I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2

B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1

P:  Vendor=1d6b ProdID=0001 Rev= 2.06

S:  Manufacturer=Linux 2.6.25-gentoo-r7 uhci_hcd

S:  Product=UHCI Host Controller

S:  SerialNumber=0000:00:10.0

C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA

I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 6

B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1

P:  Vendor=1d6b ProdID=0002 Rev= 2.06

S:  Manufacturer=Linux 2.6.25-gentoo-r7 ehci_hcd

S:  Product=EHCI Host Controller

S:  SerialNumber=0000:00:10.3

C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA

I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480 MxCh= 0

D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1

P:  Vendor=050d ProdID=705c Rev=48.10

S:  Manufacturer=Belkin

S:  Product=USB2.0 WLAN

C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA

I:* If#= 0 Alt= 0 #EPs= 4 Cls=ff(vend.) Sub=00 Prot=00 Driver=zd1211rw

E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=125us

E:  Ad=04(O) Atr=03(Int.) MxPS=  64 Ivl=125us

```

Plugging in the WLAN adapter results in the following dmesg output (USB debugging enabled in kernel)

```
 dmesg | tail

usb 1-1: reset high speed USB device using ehci_hcd and address 4

ehci_hcd 0000:00:10.3: port 1 high speed

ehci_hcd 0000:00:10.3: GetStatus port 1 status 001005 POWER sig=se0 PE CONNECT

phy2: Selected rate control algorithm 'pid'

zd1211rw 1-1:1.0: phy2

drivers/usb/core/inode.c: creating file '004'

usb 1-1: New USB device found, idVendor=050d, idProduct=705c

usb 1-1: New USB device strings: Mfr=16, Product=32, SerialNumber=0

usb 1-1: Product: USB2.0 WLAN

usb 1-1: Manufacturer: Belkin

```

One step further, but still not good.

----------

## NeddySeagoon

datbenik513,

Your usbview looks good. I put it in a file to examine it. The only worry is

```
MaxPower Needed: 500mA
```

because a USB root hub can supply a maximum of 500mA for all connected devices.

Some root hubs are a little trigger happy on the over current protection. Can you try all your USB connectors.

Does you motherboard have jumpers to select between the 5vSTBY and normal 5v for powering the root hubs ?

The former should only be used for a USB keyboard that you want to use to wake the system up from sleep mode, when the normal 5v is off. If you have them, ensure they are set to 5v. 

You have both Wireless Networking stacks built into your kernel. Thats probably a bad thing as providing two drivers for the same ting normally means neither work properly. Turn off 

```
< *> Generic IEEE 802.11 Networking Stack (DEPRECATED)  
```

thats the CONFIG_IEEE80211=y in your kernel. Read the help on that kernel option too.

Do not edit the .config file with a text editor. That option turns off 4 or 5 other symbols too.

Your kernel contains a number of options you don't need - some turn off whole menus but thats something for another day.

Its all harmless, it just takes compile time and disk space.

----------

## datbenik513

Hi Neddy,

Tried all USB connectors to no avail. The root hubs are powered from standard 5V.

Removed the "Generic IEEE 802.11 Networking Stack (DEPRECATED)" option from the kernel, the only change is that WEP is no longer available (and this is what I use on my home WLAN) - not that it had worked before on this Gentoo box:D

Strange thing is, I can access and work on my external 500GB harddisk connected to this same USB root hub, so I´d assume this is not a power issue and not even a[/code] USB issue.

 *Quote:*   

> Your kernel contains a number of options you don't need - some turn off whole menus but thats something for another day.

 

Should you have 15 minutes to clarify these options, please feel free to drop an email at: datbenik at europe dot com. I´d be very grateful and obliged for your help

----------

## NeddySeagoon

datbenik513,

I'm surprised WEP went away - swap back to the old depreciated wireless network stack if that the only way you can get WEP and turn off the new one. The point is to build only one wireless network stack.

Your external hard drive working off the same root hub shows that USB works but says nothing about how it works with a different device. It could be as close as 499mA is ok, 501mA is not. Devices and root hubs vary.

----------

## datbenik513

 *NeddySeagoon wrote:*   

> datbenik513,
> 
> I'm surprised WEP went away - swap back to the old depreciated wireless network stack if that the only way you can get WEP and turn off the new one. The point is to build only one wireless network stack.
> 
> Your external hard drive working off the same root hub shows that USB works but says nothing about how it works with a different device. It could be as close as 499mA is ok, 501mA is not. Devices and root hubs vary.

 

Hi Neddy,

Tried your suggestion as well, no changes. 

As last resort booted from the 2008 live cd and voila  :Smile:  eth1 is up and running. So, I logged certain things and sent them in an email to you. It´s certainly not an USB issue.

Best regards,

Zoltan

----------

## Zupo

Zoltan, did you manage to get the wireless working? I am having same issues and no luck ...

----------

## datbenik513

When I boot with the 2008 Gentoo Live CD, my adapter gets detected, eth1 is created which I can manually configure afterwards.

With my custom-built kernel I was unsuccessful.

I will try to compare the kernel options on the Live CD with my kernel and see where the differences lie.

----------

## Zupo

Great! Please post diff here  :Smile: 

----------

## datbenik513

 *Zupo wrote:*   

> Great! Please post diff here 

 

Zupo, what is your setup? Are you using the same mainboard and WLAN adapter?

----------

## Zupo

I am actually not using a Belkin device, so my device code is not 705c, but 1215. It's an OvisLink AirLive WL-5480USB with the same chipset zd1211b. And I am trying to run it no EEE PC 901. Kernel 2.6.25-r7, custom-built.

----------

## Zupo

My info:

.config

http://paste.plone.org/24221

lsmod

```
Module                  Size  Used by

zd1211rw               38980  0 

firmware_class          6336  1 zd1211rw

mac80211              102476  1 zd1211rw

ipv6                  200900  10 

rt2860sta             336088  1 

i915                   24256  1 

drm                    61080  2 i915

snd_pcm_oss            32832  0 

snd_mixer_oss          12096  1 snd_pcm_oss

snd_seq_dummy           2500  0 

snd_seq_oss            24832  0 

snd_seq_midi_event      5504  1 snd_seq_oss

snd_seq                40048  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event

snd_seq_device          5644  3 snd_seq_dummy,snd_seq_oss,snd_seq

intel_agp              21372  1 

agpgart                24584  3 drm,intel_agp

rng_core                3588  0 

snd_hda_intel         224692  0 

snd_pcm                56964  2 snd_pcm_oss,snd_hda_intel

snd_timer              16328  2 snd_seq,snd_pcm

snd_page_alloc          6984  2 snd_hda_intel,snd_pcm

snd_hwdep               6020  1 snd_hda_intel

snd                    39460  9 snd_pcm_oss,snd_mixer_oss,snd_seq_oss,snd_seq,snd_seq_device,snd_hda_intel,snd_pcm,snd_timer,snd_hwdep

soundcore               5472  1 snd

```

dmesg tail

```
usb 1-3: new high speed USB device using ehci_hcd and address 3

usb 1-3: configuration #1 chosen from 1 choice

usb 1-3: New USB device found, idVendor=0ace, idProduct=1215

usb 1-3: New USB device strings: Mfr=16, Product=32, SerialNumber=0

usb 1-3: Product: USB2.0 WLAN

usb 1-3: Manufacturer: ZyDAS

usb 1-3: reset high speed USB device using ehci_hcd and address 3

phy0: Selected rate control algorithm 'pid'

zd1211rw 1-3:1.0: phy0

usbcore: registered new interface driver zd1211rw
```

----------

## datbenik513

OK, on a second glance I ran make menuconfig and found the following, see attached fragment of .config:

```
#

# Wireless LAN

#

# CONFIG_WLAN_PRE80211 is not set

CONFIG_WLAN_80211=y

# CONFIG_PCMCIA_RAYCS is not set

# CONFIG_IPW2100 is not set

# CONFIG_IPW2200 is not set

# CONFIG_LIBERTAS is not set

# CONFIG_AIRO is not set

# CONFIG_HERMES is not set

# CONFIG_ATMEL is not set

# CONFIG_AIRO_CS is not set

# CONFIG_PCMCIA_WL3501 is not set

# CONFIG_PRISM54 is not set

# CONFIG_USB_ZD1201 is not set

# CONFIG_USB_NET_RNDIS_WLAN is not set

# CONFIG_RTL8180 is not set

# CONFIG_RTL8187 is not set

# CONFIG_ADM8211 is not set

# CONFIG_P54_COMMON is not set

# CONFIG_ATH5K is not set

# CONFIG_IWL4965 is not set

# CONFIG_IWL3945 is not set

# CONFIG_HOSTAP is not set

# CONFIG_BCM43XX is not set

# CONFIG_B43 is not set

# CONFIG_B43LEGACY is not set

# CONFIG_ZD1211RW is not set

# CONFIG_RT2X00 is not set
```

The problem of the firmware not loading in my custom kernel is caused by the row 

```
# CONFIG_ZD1211RW is not set
```

However, running make menuconfig and going into Device Drivers\Network Device Support\Wireless LAN, this and several other options starting from 

```
# CONFIG_USB_NET_RNDIS_WLAN is not set
```

 are not present so they cannot be changed using make menuconfig. 

I know it´s normally not recommended to change .config manually but I will give it a try and enable this option.

----------

## NeddySeagoon

datbenik513,

Thats a really bad idea - menuconfig often changes several things at the same time, some of which are always invisible to you.

Editing the .config by hand will produce a kernel that fails in all sorts of hard to diagnose ways.  

Use the menuconfig search ... press / and enter  ZD1211RW.  It will tell you

```

  ┌──────────────────────────────────── Search Results ─────────────────────────────────────┐

  │ Symbol: ZD1211RW [=n]                                                                   │  

  │ Prompt: ZyDAS ZD1211/ZD1211B USB-wireless support                                       │  

  │   Defined at drivers/net/wireless/zd1211rw/Kconfig:1                                    │  

  │   Depends on: NETDEVICES && !S390 && USB && MAC80211 && WLAN_80211 && EXPERIMENTAL      │  

  │   Location:                                                                             │  

  │     -> Device Drivers                                                                   │  

  │       -> Network device support (NETDEVICES [=y])                                       │  

  │         -> Wireless LAN                                                                 │  

  │   Selects: FW_LOADER 
```

Note the  Depends on: entry.  If that condition is not satisfied, the option you want may well be hidden.

Selects: tells you that choosing the ZD1211RW option also chooses FW_LOADER setting one without the other will get you in a mess.

----------

## datbenik513

I think I got it working, but I´m not at home at the moment, so I can´t test if it´s 100% OK.

First of all, my .config was corrupted as I stated in my last post.

So I did 

```
zcat /somepath/config.gz > /otherpath/.config
```

first.

Then ran make menuconfig and compiled the zd1211rw driver as kernel module.

Emerged wpa_supplicant, it took ages because it was also emerging gtk, and created the necessary config files, then rebooted.

UPDATE:

My WLAN is confirmed to be working, dhcp is working and card gets a valid IP address. I can also browse the Internet. 

One last tiny bit to resolve: wpa_cli can talk to wlan0, wpa_gui can't.

When I have more spare time I will post the exact sequence of what I´ve done and my config files.

PM me with your email address and I can send you my .config as well.

----------

## datbenik513

OK, here´s the steplist, I use shared WEP key on my home WLAN (login als root):

```
emerge wpa_supplicant
```

```
ln -s /etc/init.d/net.lo /etc/init.d/net.wlan0
```

```
cat /etc/conf.d/net

#Wired

config_eth0=( "dhcp" )

dhcp_eth0="dns nontp nonis"

#Wireless

modules=("wpa_supplicant")

wpa_supplicant_wlan0=("-c /etc/wpa_supplicant/wpa_supplicant.conf -Dwext")

config_wlan0=("dhcp")

dhcp_wlan0="dns nontp nonis"

essid_wlan0="default" # Default ESSID used for the card

mode_wlan0="auto"

wpa_timeout_wlan0=60

channel_wlan0="11"

sleep_scan_wlan0="1"

preferred_aps=("default") # Replace with your actual essids

associate_order="any"
```

```
cat /etc/wpa_supplicant/wpa_supplicant.conf

network={

        ssid="default"

        key_mgmt=NONE

   wep_key0=secret

   wep_tx_keyidx=0

   priority=5

   auth_alg=SHARED

}
```

```
/etc/init.d/net.wlan0 start
```

Now my wlan0 interface is up and running and I can reach my home network or browse the internet.

----------

