# Belkin 802.11b 11mb #F5D6001 (solution)

## oiper

Ok, maybe this has been obvious to everyone else, but it took my a few hours to figure it out and so here's what I did to get my Belkin F5D6001 802.11b 11mb wireless PCI card working for my desktop pc.

First off, I installed wireless-tools and pcmcia-cs(not needed), but hold off on that for now. Also I enabled pcmcia support in my kernel(2.4.20-gaming-r5, which is not needed since this card is not a pcmcia/pci "bundle" or whatever most other cards are) and I enabled wireless support. So anyways, Belkin has this one linux support page, http://web.belkin.com/support/kb/kb.asp?a=1512. I tried to follow it, but nothing worked. I even tried the atmel driver from  http://atmelwlandriver.sourceforge.net that was noted at the bottom of Belkins support page. Moving on:

I decided to search for the chip name/model number on the card. The ADM8211. This brought me to http://www.admtek.com.tw/download/ADM8211.htm which beautifully provides linux drivers. I downloaded the source (ADM8211_src_105.tar.gz) and followed the README. And after some editing of /etc/conf.d/net and such, there it was. Below I'll try to recreate exactly what you should do to get it working... without all the screwups I had:

```

su

cd /usr/src/linux

make menuconfig

```

Now enable Network Device Support --> Wireless LAN (non-ham radio)

No other options are needed.

Save and exit.

```

make dep && make clean bzImage modules modules_install

mount /boot

cp arch/i386/boot/bzImage /boot

lilo

```

Restart computer.

Download http://www.admtek.com.tw/download/nic/adm8211/ADM8211_src_105.tar.gz

NOTE: Below, obviously, replace "linux-2.4.20-gaming-r5" with your kernel. (The ADM8211 driver does at the moment require a 2.4.x kernel. =P )

```

su

ln -s /usr/src/linux-2.4.20-gaming-r5 /usr/src/linux-2.4

emerge wireless-tools

cd /opt

tar zxvf /whereverYouDownloadedThisTo/ADM8211_src_105.tar.gz

cd ADM8211

make

cp 8211.o /lib/modules/2.4.whateverYourKernelIs/kernel/drivers/net/

modules-update

modprobe 8211

```

At this point, I ran "iwconfig" to show the device to me. It output:

```

lo        no wireless extensions.

eth0      no wireless extensions.

vmnet8    no wireless extensions.

vmnet1    no wireless extensions.

eth1      IEEE 802.11-DS  ESSID:"linksys"  Nickname:""

          Mode:Managed  Frequency:2.437GHz  Access Point: 00:06:25:77:41:49

          Bit Rate=11Mb/s   Tx-Power=47 dBm   Sensitivity:0/65535

          Retry limit:3   RTS thr=2346 B   Fragment thr=2346 B

          Encryption key:off

          Power Management:off

          Link Quality:95  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

```

So your computer might not have listed your wireless card as "eth1" (and I have no idea what controls the naming of these devices), but that's the name I'm using for the wireless card in the rest of this post.

Now:

```

nano -w /etc/conf.d/net

```

add:

iface_eth1="dhcp"

```

cd /etc/init.d

cp net.eth0 net.eth1

nano -w net.eth1

```

find ebegin "Bringing ${IFACE} up" and on the next line add:

iwconfig eth1 mode Managed

NOTE: Use any other iwconfig options you need.

```

/etc/init.d/net.eth1 start

```

That "should" work if you have the same card. I might have left something out or done something really stupid, so ask or bash away at all of this. I emerged kwifimanager to configure the card and monitor the connection. Though iwconfig works just fine for that. Oh! One more thing, I had to use "dhcpcd eth1" to get the card's ip. Before I did that, the connection was there, I could ping and configure the router, but the wireless card had no ip address and thus no internet connectivity. It was odd, but "dhcpcd eth1" fixed it. This doesn't occur everytime though. So far, it's only happened 2 out of 6 times or so. You might also want to:

```

nano -w /etc/modules.autoload

```

add:

8211

```

rc-update add net.eth1 default

```

to have it automatically load and start.

Note: This driver does not support raw mode (I'm not even sure that the card does at all since it's not a pmca card on a pci card like most), or whatever the duce it's called. So kismet will not work. =(

I hope this can help somebody. Let me know if anything is missing or poorly done. Good luck!  :Shocked: Last edited by oiper on Fri Nov 07, 2003 4:27 pm; edited 1 time in total

----------

## Killer_siller

i'm trying to install gentoo using a belkin f5d6001, can you think of a way to do an install using this card?

----------

## oiper

I suppose if you got the driver source on a cd that you could compile it right after booting up with the Gentoo cd and setting up/mounting your HD. I don't see why that shouldn't work. If you get that to work, please post your results.   :Rolling Eyes: 

----------

## Killer_siller

i'm trying to work from a stage1, i guess i won't be able to!

----------

## oiper

The stage 1 disk has iwconfig on it. And that's all you need besides the driver. If you are following the install docs, you just have to skip the network config for now and go ahead and set up and mount your hard drive(s). Then mount the cd, HD partition, or whatever has the driver on it, untar it to someplace (ie. /opt), and build it. Then use modprobe or insmod 8211.o from inside that directory. Then use "iwconfig" to set your access point and whatever else. For example, if your access point is "default" (which it shouldn't actually be )  :Exclamation:  and your card is eth1, then use iwconfig eth1 mode managed essid default. That should get it up and running for you. You'll have to put 8211.o in your net dir and add it to modules.autoload after you're done installing Gentoo. But I'm sure this will work.

----------

## Killer_siller

well...that really sucks, i just took the card back, after getting too frustrated with it to deal with it...i was going to get a 3com or a d-link, or something more linux friendly.  Does anyone have a suggestion about a wireless card that is known to be painless for the Gentoo install (or at least a little less painful than the belkin)?

----------

## oiper

the Netgear MA311 runs well.

----------

## Killer_siller

okay, i went out and bought a d-link, and got the drivers for it, i compiled the drivers, but i can't seem to get modprobe to find them.  it gives me the "modprobe cannot locate modules *" error.  Any suggestions (yes i've tried the full path, yes i've looked in all of modprobe's "-*" things (it slips my mind what they are called right now).  Unfortunately for me, with all this tooth-pulling to get this working, it only makes me want to use it more, hmm, looks like my homework won't get in this semester.  Thank you!

----------

## oiper

that's strange. have you figured this out yet? have you tried running insmod whatever.o from the directory that you built the module in? If you did indeed get the module built without errors you should at least get errors while attempting to insert it. i guess if you ran a make install after building the module, make sure you run modules_update before modprobe whatever. That's all i can think of.   :Confused: 

----------

## Killer_siller

thanks, again, this is the first time i've had linux not autoload software, and i've never built a kernel with modules before (i usually tweak the thing down to my hardware, and not have anything load in modules).  thankyou

----------

## Spartan

 *Killer_siller wrote:*   

> i'm trying to install gentoo using a belkin f5d6001, can you think of a way to do an install using this card?

 

I'm bringing this post back up because I'm trying to do just this, but without luck so far.

Does anyone have any success stories to share?

----------

## Spartan

Bump up again --

I got the driver installed, but cannot get dhcp to work.  If I do 'dhcpcd eth0' it tries to connect, but then times out after 60 seconds.  I have a D-Link DI-614+ router.

Since dhcp times out, I configured the box to have a static IP address which seems to work. What's strange is that I can get out to my network and the internet from my gentoo box, but I cannot ping my gentoo box from any other box on my network.  I set up sshd, but cannot access the box via that either.

Any ideas?  I'd like to remotely administer this box so I don't have to go downstairs all the time!    :Sad: 

-S

----------

## witchdoctor

I followed the information above but would like to point out a few quirks I had to overcome in ADDITION to the steps above.

I had some unresolved symbol errors on doing the modprobe from above but this didn't seem to make a difference in the long run. I didn't need pcmcia or wlan to confirm above.

The README from the driver source dir is very informative for commands.

I don't like to run things wide open so I needed to figure out the encrypted restricted key method. Below are my results.

The biggest quirk was that the commands need to be entered in a specific order and also not combined. Specifically you must:

you must separate the following:

```

iwconfig eth0 key restricted <key>

```

into two commands

```

iwconfig eth0 key restricted

iwconfig eth0 key <key>

```

 if you make a change to existing setup, re-issue the essid command after the change.

enter the essid last

You must issue the essid last because that is what sets everything. I.e.everything is temporary until it gets the essid command.

NOTE: if you need to add/chage a command you just issue the command(s) then just re-issue the essid command after it to set it.

I had some problems at first understanding the mechanism and in case

i'm not 100% correct I found the "iwlist" command very useful. For some reason the changes would show up under iwlist but not in iwconfig. So the card would not look configured when I looked at iwconfig but iwlist showed things happening.

```

        iwlist

        iwlist eth0 key

```

I finally used the following commands (IN ORDER) to get working:

```

        iwconfig eth0 mode managed

        iwconfig eth0 enc on

        iwconfig eth0 key 123456789abcdef123456789ab

        iwconfig eth0 key restricted  

        iwconfig eth0 essid "MyAPsID" 

        #then

        /etc/init.d/net.eth0 start

        dhcpcd eth0

        ping www.yahoo.com

```

Then I set myself up for boot time by making the following changes:

I am using my router as a DHCP server to my machine so I

changed the following in conf.d/net:

/etc/conf.d/net:

```

#commented out the line on line 8, (file version V1.7) like this

#iface_eth0="192.168.0.2 ...

#uncommented the line on line 14 like this

iface_eth0="dhcp"

```

These next lines configure the wireless part of the card itself weather its dhcp or static.

/etc/init.d/net.eth0:

After the start() section I added #BEGIN ADDITIONS to #END ADDITIONS

```

start() {

        local retval=0

        setup_env

        checkconfig || return 1

        # BEGIN ADDITIONS by jdoe on 2003.11.16

        if [[ ${IFACE} == "eth0" ]]; then

        ebegin "Setting IWCONFIG Wireless Options for ${IFACE}"

        /usr/sbin/iwconfig ${IFACE} mode managed

        /usr/sbin/iwconfig ${IFACE} enc on

        /usr/sbin/iwconfig ${IFACE} key 123456789abcdef123456789ab

        /usr/sbin/iwconfig ${IFACE} key restricted

        /usr/sbin/iwconfig ${IFACE} essid "MyAPsID"

        # uncomment next to see details at boot

        #/usr/sbin/iwconfig 

        fi

        # END ADDITIONS by jdoe on 2003.11.16

```

Then did a reboot and watched it all come up and could still:

```
ping www.yahoo.com
```

I don't know if this is at all the right way to do it. But, seems to work for me.

Good luck.

 :Very Happy: 

----------

## Spartan

Thanks so much for the thorough reply.  I actually fixed my problem by restoring my router to it's default settings, then it was able to assign my linux box an IP via DHCP.  I have no idea why it wouldn't before.

The problem I have now is that I tend to lose connectivity between my router and my gentoo box, and it won't come back unless I reboot the gentoo box (which is a huge pain in the butt).  When I had windows on that box, it never lost signal.  Any ideas how to tackle that one?

When connectivity is lost, there are no meaningful messages either in my router log or on the gentoo console.  (are there other places on my linux box I could look?)

-S

----------

## gixer

Have you tried looking in messages? You know, dmesg? See if there are any hints in there, ALSO , if you re-issue the same command to the wireless card, does it re-connect? ex: iwconfig eth1 mode ad-hoc blah blah blah just like it does when you boot. Just my 2cents  :Smile: 

----------

## Spartan

Hmm -- nothing noteworthy in 'dmesg', and if I reissue the iwconfig, nothing happens.  I can't get it to reconnect to my network once it "times out"....

----------

## thesnowman

Spartan, your card isn't going into some kind of power save mode is it?  Use 

```
iwlist power
```

 to see if power management is enabled.

----------

## Spartan

 *thesnowman wrote:*   

> Spartan, your card isn't going into some kind of power save mode is it?  Use 
> 
> ```
> iwlist power
> ```
> ...

 

hmmm -- good idea:

```
municade root # iwlist power

lo        no power management information.

dummy0    no power management information.

sit0      no power management information.

eth0      Supported modes :

                        o Receive all packets (unicast & multicast)

                        o Receive Unicast only (discard multicast)

          Fixed period  ;  min period:0us

                           max period:65.535s

          Fixed timeout ;  min timeout:0us

                           max timeout:65.535s

          Current mode:off

```

----------

## gixer

try this command, substituting the <fields> with your info...

this is straight out of MY scripts that I use daily (I move between several networks, i just type in the location I'm at, and it runs the appropriate command...

iwconfig WITH encryption...

---script------

iwconfig eth1 essid "Wireless" mode Ad-Hoc rate auto key <HEX wireless key> key on key resricted 

ifconfig eth0 down

ifconfig eth1 192.168.0.69

route add default gw 192.168.0.1

-----end script------

I have learned that even if eth0 is unplugged, it's a 50/50 chance that traffic will NOT goto the correct interface, even though the gw is specified  :Smile: 

try issuing THOST commands, obviously replacing or omitting any options/parameters that do not apply to you..

Hope that helps! Keepin my fingers crossed for yah!

----------

## witchdoctor

Alas I have long since lost my working 2.4 setup posted above in favor of mistakenly trying to get a 2.6 system working. Anybody have any ideas pointers to get this working under 2.6? Still no source for 2.6 unless somebody know if it can be modified somehow. 

Doc

----------

## oiper

http://ndiswrapper.sourceforge.net/  :Confused: 

EDIT:

Ndiswrapper has been working wonderfully for 3 days on both the card mentioned above and a 54g broadcom card.    :Razz:    I never got the adm8211 module to "see" my card under kernel 2.6.x    :Mad: 

----------

