[ltp] GPL driver for Cisco 350 MiniPCI WiFi card

Alexis de Lattre linux-thinkpad@linux-thinkpad.org
Tue, 29 Jul 2003 11:55:38 +0200


This is a small HOWTO for the new GPL driver for the Cisco 350 MiniPCI
WiFi card, that can be found inside some Thinkpad T30 and other
Thinkpads. I use it for one week now: it's much more convenient that
the driver provided by Cisco because it has the wireless extensions. A
big "thanks" to Benjamin Reed and Fabrice Bellet for their work on this
driver.


---------- GPL driver for Cisco 350 MiniPCI WiFi card HOWTO ------------

Benjamin Reed is developing a driver for this card at
airo-linux.sourceforge.net. Fabrice Bellet has improved the driver, but
his modifications have not been integrated yet. I will explain here how
to install the driver modified by Fabrice Bellet. I suppose you have the
sources of a 2.4.21 kernel in /usr/src/linux/.

* Get the file airo_mpi.c-20030719 from Fabrice's "Linux on T40" page
 http://bellet.info/~bellet/laptop/t40.html#wireless
 and copy it to /usr/src/linux/drivers/net/wireless/airo_mpi.c

* Get the file airo.h on http://www.via.ecp.fr/~alexis/t30/airo.h
  and copy it to the directory
  /usr/src/linux/drivers/net/wireless/ (you can also get it from the
  CVS of the airo-linux projet as explained on
  http://sourceforge.net/cvs/?group_id=24926).

* Modify the file /usr/src/linux/drivers/net/wireless/Makefile: add
  "airo_mpi.o" at the end of the line which starts with "export-objs" and
  add a line containing "obj-m += airo_mpi.o" before the last line.

  The Makefile should now contain:

#
# drivers/net/wireless/Makefile
#
# Makefile for the Linux Wireless network device drivers.
#

O_TARGET := wireless_net.o

obj-y           :=
obj-m           :=
obj-n           :=
obj-            :=

# Things that need to export symbols
export-objs     := airo.o orinoco.o hermes.o airo_mpi.o

obj-$(CONFIG_HERMES)            += orinoco.o hermes.o
obj-$(CONFIG_PCMCIA_HERMES)     += orinoco_cs.o
obj-$(CONFIG_APPLE_AIRPORT)     += airport.o
obj-$(CONFIG_PLX_HERMES)        += orinoco_plx.o
obj-$(CONFIG_PCI_HERMES)        += orinoco_pci.o

obj-$(CONFIG_AIRO)              += airo.o
obj-$(CONFIG_AIRO_CS)           += airo_cs.o airo.o
obj-m += airo_mpi.o

include $(TOPDIR)/Rules.make


* Then recompile your kernel with no specific option. Eventually,
  install your new kernel and reboot.


To get the wireless interface, load the module "airo_mpi". This is what
you should see in /var/log/syslog when you do that:

Jul 28 21:29:29 alpy kernel: airo_mpi:  Probing for PCI adapters
Jul 28 21:29:29 alpy kernel: PCI: Found IRQ 11 for device 02:02.0
Jul 28 21:29:29 alpy kernel: PCI: Sharing IRQ 11 with 00:1d.2
Jul 28 21:29:29 alpy kernel: PCI: Sharing IRQ 11 with 00:1f.1
Jul 28 21:29:29 alpy kernel: init_airo_card: resetting card
Jul 28 21:29:31 alpy kernel: airo_mpi: MAC enabled eth0 0:d0:59:c9:22:6
Jul 28 21:29:31 alpy kernel: init_airo_card returns c98f0000
Jul 28 21:29:31 alpy kernel: airo_mpi:  Finished probing for PCI adapters
Jul 28 21:29:36 alpy kernel: airo_interrupt: MIC interrupt
Jul 28 21:29:36 alpy kernel: airo_interrupt: Link stat int ls=400
Jul 28 21:29:36 alpy kernel: airo_mpi: airo_interrupt: Carrier on


Then you can use the programs packaged in the wireless-tools (iwconfig,
iwevent, iwlist, iwpriv and iwspy). For example, to search wireless
networks do:

iwlist eth0 scan

To connect to a network do:

iwconfig eth0 essid network_name


When I use iwconfig or other wireless-tools, I have the following
message:

Warning: Driver for device eth0 has been compiled with version 15
of Wireless Extension, while this program is using version 16.
Some things may be broken...

but it doesn't seem to be a problem.

When the driver stops working, just remove and load the module again (in
particular, I have to do that after each suspend/resume).

-------------------------------------------------------------

You can find this small HOWTO along with other tips about my T30
2366-85G under Linux on this modest and "not-finished-yet" page:

http://www.via.ecp.fr/~alexis/t30/

I hope it will be usefull to some people on this mailing-list.

-- 
Alexis