BerliOS Logo
Back to start page

Support for at76c503a

Getting Sources/Binaries

Chances are that your distribution already contains the driver as a binary module. SuSE 8.2 had the rather old driver version 0.8, SuSE 9.0 comes with version 0.10.

If you want to update, you may either try one of these binaries:

or download the source code: the latest released version from the projects homepage under Latest File Releases or the latest cvs nightly tarball. Unpack them by

tar xzvf filename

Compiling the sources

You need kernel sources matching your running kernel. If you want to compile for a kernel different to the one running, edit the variable KERNEL_VERSION in Makefile

The file /lib/modules/$(KERNEL_VERSION)/build must point to the root directory of your kernel sources.

Your gcc version should match the one used to compile the kernel.

cd into the directory containing Makefile and call

make
This should complete without errors.

Installing the driver

If you have used the Sourceforge driver before, you must manually remove its modules:
find /lib/modules/`uname -r`/ -name "usbvnet[5r]*" -exec rm {} \;
Call
make install
to install the Berlios driver.

Starting the device

Plugin your USB device and watch the syslog. If the hotplug package is installed and your USB device's ids are known to the driver, hotplug should load the correct driver. You'll see some lines like

         usbdfu.c: USB Device Firmware Upgrade (DFU) handler v0.11beta4-ac1
         at76c503.c: Generic Atmel at76c503/at76c505 routines v0.11beta4-ac1
         at76c503-rfmd.c: Atmel at76c503 (RFMD) Wireless LAN Driver v0.11beta4-ac1
         ...
         at76c503.c: $Id: at76c503.c,v 1.35 2003/07/30 06:31:51 jal2 Exp $ compiled Sep  2 2003 12:42:49
         at76c503.c: firmware version 1.101.5 #84 (fcs_len 4)
         at76c503.c: device's MAC 00:08:a1:42:9c:d9, regulatory domain ETSI (Europe - (Spain+France) (id 48)
         at76c503.c: registered wlan0
    

If all you get is something like

         usb.c: USB device ... (vend/prod xxx/yyy) is not claimed by any active driver.
    

grep for the USB ids (xxx,yyy) in the source C files. If you find the pair, manually load the corresponding driver (at76c503-rfmd, at76c503-rmfd-acc, at76c503-i3861, at76c503-i3863, at76c505-rfmd,at76c505-rfmd2958), e.g. by

modprobe -v at76c503-rfmd

If this works and you want your system to automatically load the modules, check your hotplug package's configuration.

If you cannot find your USB ids in the source files, try to add it in every of the source files (one after each other) at76c503-rfmd.c, at76c503-rmfd-acc.c, at76c503-i3861.c, at76c503-i3863.c, at76c505-rfmd.c, at76c505-rfmd2958.c. Compile and install and try again. If you've found a working variant, please post device name, USB ids, FCC id, driver name etc. to the user mailing list.

Configure the device

Configure your WLAN device according to your environment with iwconfig, e.g.

iwconfig wlan0 mode ad-hoc essid my_wlan

Do not use WEP or DHCP for the first try, if possible.

Open the network device to activate the device:

        ifconfig wlan0 its_ip_address
    

Try to ping etc. your peer.

In order to automagically start and configure the device please refer to the distribution-specific documentation (hotplug, ifcfg scripts etc.).

Troubleshooting

Compiling

  1. compiler error:
        at76c503-rfmd.c:151: error: initializer element is not constant
        at76c503-rfmd.c:151: error: (near initialization for
        `module_usbdfu.reset_delay')
    
    This error is fixed in the cvs tarball.
  2. compiler error:
        In file included from at76c503.c:86:
        /usr/include/linux/module.h:21: linux/modversions.h: No such file or directory
    
    Check where /lib/modules/`uname -r`/build points to. Must be the root directory of your kernel sources.

Starting

  1. modprobe or insmod return unresolved symbols:
        /sbin/insmod /lib/modules/2.4.20-13.9/kernel/drivers/usb/at76c503.o
        Using /lib/modules/2.4.20-13.9/kernel/drivers/usb/at76c503.o
        Symbol version prefix ''
        /lib/modules/2.4.20-13.9/kernel/drivers/usb/at76c503.o: unresolved symbol alloc_skb_Rsmp_60b64813
        /lib/modules/2.4.20-13.9/kernel/drivers/usb/at76c503.o: unresolved symbol usb_alloc_urb_Rsmp_f2742fa6
    
    Check that the kernel sources (including the configuration in .config) match the running kernel. This problem comes up regularly in the at76c503a-user and Atmel-WLAN-USB mailing lists, check their archives (here are two discussions, one for RedHat and another for debian. RedHat keeps the configuration files for its kernel versions in /boot, IMHO you may copy the config file into your kernel root directory, rename it into .config and call
    make oldconfig
    
    in the kernel root directory
  2. The driver init messages show up, but you don't see the MAC address line in syslog:


  3. These two lines aren't errors (unless you don't see the device's MAC address below):
    at76c503.c: load_ext_fw_block failed: -32, i = 0
    
    usbdevfs: USBDEVFS_CONTROL failed dev 2 rqt 128 rq 6 len 18 ret -84
    

Configuration

  1. iwconfig says
    no wireless extensions for wlan0
    
    Check that the wireless extensions are enabled in your kernel. (CONFIG_NET_RADIO=y). If they are you should have a /proc/net/wireless.
  2. Configuration went fine, but you cannot reach the peer (e.g. by ping).

    If you are either running in managed mode or your device is started after the peer, try this:

    In all configurations:

Miscellaneous

  1. Enabling debug in the driver didn't produce more syslog messages.

    Please check your /etc/syslog.conf and ensure that kern.debug messages are included in the syslog.

Distribution-specific issues

Distribution-specific instructions and help pages are available for Debian/Knoppix (thanks to CE), SuSE, Mandrake 9.1, Mandrake 9.2 (latest two thanks to delboy711).

Getting Help

There are two mailing lists to ask for help, but please search their archives before posting and check if the problem is really related to the driver and not to some distribution specific configuration.

If you're going to post, please include:


Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen wir keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
Jörg Albert j_o_e_r_g_._a_l_b_e_r_t_@_g_m_x_._de (remove _!)

© 2003-2004 by Jörg Albert, last update 21.03.2004 All rights reserved. All trademarks are the property of their respective owners.