Wireless network device

Index


Introduction

Starting from STLinux2.3 distribution, support for some USB wifi dongles based on Ralink RT73 chipset was added into linux kernel to allow user to exploit wireless extensions. They are based over the IEEE 802.11 protocol. In this section you can find useful informations to use wifi dongles with ST kernel; however, for a full wifi instructions set, we will invite you to read specific documents.

[Top]

Supported dongles

Here is a list of supported dongles, the ones based on RT73 chip. List could be incomplete.

  • Asus WL-167G
  • Belkin F5D7050EF
  • Belkin F5D7050ES
  • Conceptronic C54RU Ver2
  • D-Link DWL-G122 H/W Ver.:C1
  • Edimax EW7318UG
  • Linksys WUSB54GC
  • Sitecom WL-113
  • Sitecom WL-172
  • Surecom EP-9001-g
  • PLanex GW-US54HP
  • Digitus DN-7003GR VPR 1.0

[Top]

Configuring the kernel

To use USB wireless driver you have to set the following features in your linux kernel.

Kernel starting from release #102 already contains this wireless support. Full boards support starts from kernel #122. Previous versions were for 7109 and 7200 boards.

Open the kernel menuconfig and enable the following:

Networking ---> Wireless ---> Generic IEEE 802.11 Networking Stack (mac80211)
Device Drivers ---> Network device support ---> Wireless LAN ---> Wireless LAN (802.11)
Device Drivers ---> Network device support ---> Wireless LAN ---> STMicroelectronics rt73 wireless usb device

Also make sure the following options are enabled:

Device Drivers ---> Generic Driver Options ---> Userspace firmware loading support
File systems ---> Pseudo filesystems ---> Virtual memory file system support (former shm fs)

[Top]

Kernel command line options

When booting the kernel, a debug option could be added in command line. To do this, simply add the following in your kernel command line options.

Required option is:

rt73wlan=debug:<number>

Where number can be 1,2,4,8 to enable respectively ERROR, WARN, TRACE and INFO debug.

[Top]

How to use the device

Once kernel has been built, with rt73 driver enabled, to start using usb dongles you have to install the rt73.bin firmware the driver needs to be correctly initialized. You can find it into iso image or download from ftp site (wireless-frmw package). It will be installed on target filesystem (lib/firmware directory).

If driver is built as built-in, there is also the possibility to boot the kernel with the usb dongle already plugged in the usb connector : user has to put the firmware under _kernel_tree_/usr directory and also he has to enable the following otpion from the kernel configurator:

Device Drivers ---> Network device support ---> Wireless LAN ---> Rt73 firmware loaded inside kernel
To remember that this option has to be enabled only if driver is built as built-in. If it is built as module, /lib/firmware/rt73.bin firmware is enough because driver init phase will start (obviously) only after filesystem is mounted. The userspace firmware is however always required for all the unplug/plug operations user will do during his working session.

You also need wireless tools package to manage your wireless connection. As above, you can find it on iso image or into ftp site. This package contains iwconfig, iwpriv and iwlist tools.

Once wireless device will be recognized, a wlan0 device will be created: typing ifconfig -a you will see it, at the moment with link down. Enable it typing ifconfig wlan0 up or ifconfig wlan0 <ip_address>. If you choose the first command, you will need to assign an ip address in future.

After this step, if a wireless access point is available in the nearby, typing iwconfig wlan0 you will see your connection status.

For example you should see a similar output:

wlan0     RT73 WLAN  ESSID:"linksys"
          Mode:Managed  Frequency=2.412 GHz  Access Point: 00:18:F8:7A:D0:59
          Bit Rate:54 Mb/s
          RTS thr:off   Fragment thr:off
          Encryption key:off
          Link Quality=100/100  Signal level:-22 dBm  Noise level:-79 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Where, for example:
  • ESSID is the access point name where network is wired
  • Access Point is the access point's mac address
  • Link Quality is the signal strength

If wireless device was correctly initialized and wired to an access point, you can use it as a normal network interface, using also all network commands available.

For detailed instructions regarding wireless tools you can visit their man pages. Wireless tools are also required to enable/disable encryption keys, useful to setup security connections. Take care that tools commands are not fully available for this rt73 driver, for example you cannot set device "mode" to master, in order to set dongle as an access point. If you'll try to enable (through wireless tools) a not supported capability, driver will reply with a warning message that won't corrupt its use.

If you have built the driver as a loadable module, type the following to insert and use it:

insmod rt73.ko [debug=<number>]
Once dongle was plugged...
ifconfig wlan0 [up | <ip_address>]

Where number is the same as above.

To disable connection, you have to put down network typing ifconfig wlan0 down. To remove rt73 device (previously loaded as module) you have to type rmmod rt73.

[Top]