All Forums
 Embedded Linux
 Linux FAQ
 What USB 802.11g wireless adapter do you recommed?
 Forum Locked
 Send Topic to a Friend
 Printer Friendly
Author Topic  

jlackey

213 Posts

Posted - 15 Mar 2007 :  12:37:28  Show Profile  Email Poster

See the update in the reply below for the latest information.


What USB 802.11g wireless adapter do you recommed?

We've been successful with a number of adapters from several different manufacturers that use ZyDAS 1211 or 1211b chips. There are dozens of these adapters available, some of them quite inexpensive. A kernel driver that supports these adapters should be available in a future release. In the meantime, a kernel module is required.

The GPL'd source code is available here. To cross-compile it, we made some minor changes included in this patch.

If you're running Linux 2.6.17.9-ep93xx-pxa-ads3 on an ARMv5 system (BitsyXb or VGX), you can use the modules we've built:
After you've loaded the appropriate module with insmod, you can use ifconfig to find the new interface (usually eth1). You must bring the interface up first, before configuring it with iwconfig, e.g.
    insmod zd1211b.ko
    ifconfig -a
    ifconfig eth1 up
    iwconfig eth1
    iwconfig eth1 essid applieddata
    dhcpcd eth1
If you want to build the modules yourself or need ones for other kernel versions or systems,
  • download and untar the source code above
    tar xzf ZD1211LnxDrv_2_15_0_0.tar.gz
  • apply our patch
    cd ZD1211LnxDrv_2_15_0_0/
    patch -p1 < ../zydas.diff
  • modify the Makefile to reference your kernel source tree

  • modify include/asm/system.h [1] in your kernel source tree by replacing
    #define __asmeq(x, y)  ".ifnc " x "," y " ; .err ; .endif\n\t"
    with
    #define __asmeq(x, y)  ".ifnc " x "," y " ; nop ; .endif\n\t"
  • make the module with
    make ZD1211REV_B=0
    for zd1211 or
    make ZD1211REV_B=1
    for zd1211b.

[1] If you're using gcc-3.4.1 or later, this step is not required. Older compilers (like the one we've recommended for years, arm-linux-gcc-3.3.2) have a division bug that is trapped by this code. The ZyDAS driver triggers this trap but does not use the portion of the result that is affected by the bug. Therefore, it is safe to disable the trap in order to build the ZyDAS modules. You should restore the trap after you've built your module.

jlackey

213 Posts

Posted - 23 Oct 2007 :  15:04:43  Show Profile  Email Poster
Beginning with 2.6.17.9-ep93xx-pxa-ads5, a backported version of the zd1211rw driver for ZyDAS 1211b 802.11 wireless adapters is now included in the kernel source code. This driver must be built as a module and loaded at run-time from the root filesystem.

Use
make menuconfig
to enable the driver to be built as a module. Then use
make modules
to build it. The zd1211rw.ko module may be found in the drivers/net/wireless/zd1211rw directory. Use
insmod zd1211rw.ko
to load the module.

ZyDas adapters require firmware which is not included in the zd1211rw driver but is available in our Debian based root file systems beginning with the 2007-09-25 version. In order for the module to load the firmware, the hotplug files provided below are also necessary. Unfortunately, they are not included in the 2007-09-25 release of the Debian root file systems. Follow the instructions below to add support for firmware hotplugging. These steps should not be necessary for later releases of the root file systems.
  • hotplug
    cp hotplug /sbin/
    chmod +x /sbin/hotplug
  • firmware.agant
    mkdir -p /etc/hotplug
    cp firmware.agent /etc/hotplug/
    chmod +x /etc/hotplug/firmware.agent
  • hotplug.functions
    cp hotplug.functions /etc/hotplug/
    chmod +x /etc/hotplug/hotplug.functions
  • default.hotplug
    mkdir -p /etc/hotplug.d
    cp default.hotplug /etc/hotplug.d/
    chmod +x /etc/hotplug.d/default.hotplug
Go to Top of Page
  Topic  
 Forum Locked
 Send Topic to a Friend
 Printer Friendly
Jump To:
Eurotech Support Forums © Eurotech Inc. Go To Top Of Page
This page was generated in 0.03 seconds. Snitz Forums 2000