- Sections
- Misc.
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
Errors omissions and polite comments to delboy711 at boltblue Dot com