Atmel USB Wireless on Mandrake 9.2

Most Popular Pages....

  • Postfix Mail server - Combining a Postfix mail server with Spamassassin, Clam Anti-Virus, and Courier-IMAP.

My Clients....

litigious bastards

- Whats this?

Atmel USB on Mandrake/Mandriva




Note:

I no longer own a device using the Atmel chip set and am unable to offer any advice regarding the drivers operation with recent Mandriva releases or USB wireless adapters.

- Please refer to the driver mailing list for support.

Note: A number of people have reported that they are unable to get their Atmel based adapters working in Mandriva 2006. The log gives a message about being unable to load firmware.
I have recently noticed that the "Commercial download area of Mandriva Club contains a package called atmel-firmware-1.1-1mdk. It looks as if Mandriva may have split the firmware out of the kernel into a separate package. Unfortunately I cannot confirm this as I do not have an Atmel based device to try out.
If you have difficulty with Mandriva 2006 try installing the atmel-firmware package either from Mandriva Club, from the Commercial CD of a Mandriva Powerpack, or from the software maintainer.
Let me know how it goes.





This guide is an updated version. Details of using Atmel based USB wireless devices with Mandrake 9.1 may be read here

Using an Atmel based USB Wireless adapter with Mandrake 9.2/10.0

Introduction

Since Mandrake 9.1 I have preferred the at76c503a driver for use with Atmel based USB wirelessdevices, over the alternative atmelwlan driver because I found it a lot more robust and considerably easier to configure.

Now with Mandrake 9.2 the good news is that the at76c503a driver has been included in the distro. The bad news is that it will not work out of the box. You have to do a couple of things to get it working, but at least you no longer have to compile anything. With Mandrake 10.0 the news is even better. The at76c503a driver will be loaded automatically, and all the user should have to do is use the Mandrake GUI to configure it.

Procedure

When you first boot Mandrake 9.2 with an Atmel USB device You will find that the device is detected and if you type 'iwconfig' in a root terminal you will see it comes up as eth0 (or eth1 or something). (iwconfig is in the 'wireless-tools' RPM package. You may need to install it) Typing dmesg in a root terminal reveals something like this :


hub.c: new USB device 00:07.3-1, assigned address 2
usb.c: USB device 2 (vend/prod 0xd5c/0xa002) is not claimed by any active driver.
usb.c: registered new driver usbvnetr
usb vendor/product=d5c/a002
../src/usb/vnet_kernel.c: Reseting Usb Device
../src/usb/vnet_kernel.c: Reset completed.
usbvnetr: driver version 1.0.1, compiled Oct 19 2003 16:57:37 (dbg_mask x0)
MAC addr 00:30:BD:63:BD:4E firmware 1.101.2.84
../src/usb/vnetusba.c: usb eth0 initialized and registered
at76c503.c: Generic Atmel at76c503/at76c505 routines v0.11beta4
usbdfu.c: USB Device Firmware Upgrade (DFU) handler v0.11beta4
usb.c: registered new driver usbdfu
at76c503-rfmd.c: Atmel at76c503 (RFMD) Wireless LAN Driver v0.11beta4
usb.c: registered new driver at76c503-rfmd


This indicates that both the at76c503 driver and the atmelwlandriver have been loaded and the device has been configured by the atmelwlan driver.
This would not be too bad if the atmelwlan driver worked OK. But since Mandrake have not included a sample configuration file for the atmelwlandriver (vnetrc ), and have not included the atmelwlandriver configuration utilities ( lvnet or xvnet), and have not included any documentation either, then there is not much chance of a newbie getting it working.

Mandrake 10.0 does not include the conflicting atmelwlandriver so dmesg should simply show the at76c503 driver (or one of its variants) loading at boot time. Mandrake 10.0 users should be able to go straight to the 'interface configuration' section.

The Mandrake 'drakconnect' GUI does not show the USB attached device, and nor does the 'harddrake' GUI which list the computers hardware.

Using the at76c503 driver

It is actually very easy to get Mandrake 9.2 to work with an Atmel USB wireless device. (I was using a Belkin F5D6050 )

All you have to do is edit the file /etc/hotplug/blacklist and insert the names of the atmelwlandriver. The hotplug system will then ignore those drivers and will install only the at76c503a driver.

Insert into /etc/hotplug/blacklist :-


usbvnet_rfmd
usbvnet_r505_2958
usbvnet5_2958



Now when you boot, you will see 'dmesg' only refers to the at76c503 driver. An iwconfig command will show the device has been recognised as wlan0.

Interface Configuration

Mandrake 10.0 should recognise an Atmel based USB device and load the driver automatically. The interface may be configured using the 'New Connection' GUI in the 'Network and Internet' sections of Mandrake Control Centre. A configured wireless connection will appear in the 'Manage Connections GUI. . Note that the GUI shows the device name to be the USB hub, and not the wireless adapter itself.

If Mandrake 10.0 is unable to recognise your wireless adapater, then it may be that your adapter is not one the driver is compiled to work with. The file /lib/modules/2.xx.xx-xxmdk/modules.usbmap lists all the known USB vendor/product codes, and the driver associated with them. If you cannot find the vendor/product code for your device in this list, then you may need to compile the latest driver version from CVS (Your vendor/product code will appear somewhere in dmesg) The driver version supplied with Mandrake 10.0 is 0.12beta. The driver mailing list archives may also assist.

In Mandrake 9.2, the drakconnect GUI will not recognise the existance of the USB wireless, so it is necessary to set up the Mandrake network configuration files by hand. To configure the wireless card create a file /etc/sysconfig/network-scripts/ifcfg-wlan0

Mine looks like this :-


DEVICE=wlan0
BOOTPROTO=static
IPADDR=192.168.1.43
NETMASK=255.255.255.0
ONBOOT=yes
KEY=s:mykey
WIRELESS_RATE=11M
WIRELESS_MODE=Managed
WIRELESS_ESSID=8848DBjennings
MII_NOT_SUPPORTED=yes



Note that the encryption key needs to be preceeded by 's:' if it is in ASCII. See 'man iwconfig' for a description of the wireless parameters.

The line "MII_NOT_SUPPORTED=yes" is there because in Mandrake 9.2 there is a new feature called 'network hotplugging'. Network hotplug works by detecting the Ethernet 'heartbeat', and automatically triggering an 'ifup' when heartbeat is detected, and 'ifdown' when heartbeat is lost. The at76c503a driver does not support Ethernet heartbeat, so we must disable network hotplug or else the interface will be automatically shutdown again as soon as it starts.

If you find the wireless connection comes up, but you still cannot access the internet then add the line GATEWAYDEV=wlan0 to the file /etc/sysconfig/network and then restart networking with 'service network restart. (Some people have remarked that they also needed to add GATEWAY=ip_addy_of_router )

Note: Linksys v2.8 USB Wireless Adapter

The Linksys v2.8 adapter uses an Atmel at76c505 chipset with an RFMD2958radio system. Mandrake 9.2 does not contain the driver for this device, but the latest version in CVS does. Download the driver tarball here . Mandrake 10.0 contains the correct driver as standard.

Extract the tarball into a folder (konqueror can do that for you), then open a terminal and 'cd' to the folder. Compile the driver with 'make', and then as root run 'make install' In order for the driver to compile you must have the gcc compiler installed as well as the kernel-source RPM, and the revision number of the kernel-source RPM must match the kernel you are running. The latest kernel and kernel-source RPMs are on the Mandrake Update mirrors. The new driver will install itself into the location /lib/modules/2.xx.xx-xxmdk/kernel/drivers/usb (Where xx.xx-xxmdk is the version number of your kernel.) You should remove the older Mandrake supplied drivers which are located at /lib/modules/2.xx.xx-xxmdk/kernel/3rdparty/at76c503 or else the wrong driver version may get loaded. After removing the old drivers run 'depmod -a' in a root terminal. You should find that the at76c505-rfmd2958.o driver will recognise the Linksysv2.8

Some manufacturers are in the habit of changing the chip set in their products without changing the product name. So for example the Belkin F5D6050 I was using is now available in a second variant which uses an Atmel 76c505 chip set like the Linksys ver 2.8.

Firewall Considerations

One source of potential problems when adding a wireless network adapter is your computer's firewall. If the shorewall firewall is used then the wlan0 interface must be defined in the firewall configuration or else shorewall will block all packets to that interface.

Edit the file /etc/shorewall/interfaces and ensure that the wlan0 interface is included in the desired zone. (Usually this will be 'net' for the zone facing the Internet)

 net	wlan0	detect
 

Then restart shorewall with

shorewall restart

Supported Hardware

I have no idea how many different USB wireless devices will work flawlessly with this driver. You might find a reference to your hardware in the archives of the at76c503a mailing list. However here is a list of USB vendor/product codes which the driver will bind to in release 0.11 which is the version bundled with Mandrake 10.0. Compare these codes with the messages you will see in 'dmesg' when you insert your wireless device. If your devices codes are not listed here you might have better luck with the driver version in CVS


Driver		Vendor Code	Product Code
-----		-----------	------------
at76c503-rfmd-acc    0x083a   0x3501    
at76c503-rfmd-acc    0x0d5c   0xa002    
at76c503-i3861       0x03eb   0x7603    
at76c503-i3861       0x066b   0x2211    
at76c503-i3861       0x0864   0x4100    
at76c503-i3861       0x0b3b   0x1612    
at76c503-i3861       0x03f0   0x011c    
at76c503-i3861       0x0cde   0x0001    
at76c503-i3861       0x069a   0x0320    
at76c503-i3861       0x0d5c   0xa001    
at76c503-i3861       0x04a5   0x9000    
at76c503-i3861       0x05dd   0xff31    
at76c503-i3861       0x8086   0x0200    
at76c503-i3861       0x0d8e   0x7100    
at76c503-i3861       0x0d8e   0x7110    
at76c503-i3861       0x04bb   0x0919    
at76c505-rfmd        0x03eb   0x7606    
at76c505-rfmd2958    0x03eb   0x7613    
at76c505-rfmd2958    0x1371   0x0014    
at76c505-rfmd2958    0x1371   0x0013    
at76c505-rfmd2958    0x1915   0x2233    
at76c505-rfmd2958    0x12fd   0x1001    
at76c505-rfmd2958    0x07aa   0x7613    
at76c505-rfmd2958    0x0db0   0x1020    
at76c503-rfmd        0x03eb   0x7605    
at76c503-rfmd        0x069a   0x0321    
at76c503-rfmd        0x077b   0x2219    
at76c503-rfmd        0x077b   0x2227    
at76c503-rfmd        0x0864   0x4102    
at76c503-rfmd        0x2001   0x3200    
at76c503-rfmd        0x1668   0x7605    
at76c503-rfmd        0x03eb   0x4102    
at76c503-rfmd        0x1371   0x5743    
at76c503-rfmd        0x1371   0x0002    
at76c503-rfmd        0x04a5   0x9001    
at76c503-rfmd        0x0506   0x0a01    
at76c503-rfmd        0x0681   0x001b    
at76c503-rfmd        0x050d   0x0050    
at76c503-rfmd        0x07b8   0xb000    
at76c503-i3863       0x03eb   0x7604    
at76c503-i3863       0x055d   0xa000     
  

Saturday 22nd May, 2004