NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

iwn 5100AGN for netbsd-5 success



I saw in the mailing list archives a few weeks back that iwn(4) for 5100/5300 AGN devices was working in netbsd-current but hasn't been ported to netbsd-5 yet. I decided to try and get it working in netbsd-5 with minimal changes to the netbsd-5 kernel sources and have had some success.

Seven files were patched in src/sys/dev/pci: if_iwn.c, if_iwnreg.h if_iwnvar.h, pcidevs, pcidevs.h pcidevs_data.h, and pcireg.h.

The details:

1. Used the first of version of src/sys/dev/if_iwn.c that works with the 5100/5300 iwn devices from the current branch (revision 1.33), but removed the two lines associated with revision 1.25 of src/sys/dev/if_iwn.c. The iwn(4) driver failed in netbsd-5 with that revision included - that revision was part of a major commit to the netbsd-current kernel networking code.

2. Used the first version of src/sys/dev/if_iwnreg.h that works with the 5100/5300 iwn devices from the current branch (revision 1.6).

3. Used the first version of src/sys/dev/if_iwnvar.h that works with the 5100/5300 iwn devices from the current branch (revision 1.6).)

4. Edited the src/sys/dev/pcidevs file to add the new iwn devices (these changes are derived from additions to pcidevs between revision 1.967 and 1.968 of src/sys/dev/pcidevs, but I changed "Pro/Wireless" to "PRO/Wireless" for consistency with the other devices):

product INTEL PRO_WL_5100AGN_1 0x4232 PRO/Wireless LAN 5100AGN Mini-PCI Adapter product INTEL PRO_WL_5300AGN_1 0x4235 PRO/Wireless LAN 5300AGN Mini-PCI Adapter product INTEL PRO_WL_5300AGN_2 0x4236 PRO/Wireless LAN 5300AGN Mini-PCI Adapter product INTEL PRO_WL_5100AGN_2 0x4237 PRO/Wireless LAN 5100AGN Mini-PCI Adapter product INTEL PRO_WL_5350AGN_1 0x423a PRO/Wireless LAN 5350AGN Mini-PCI Adapter product INTEL PRO_WL_5350AGN_2 0x423b PRO/Wireless LAN 5350AGN Mini-PCI Adapter

5. Regenerated src/sys/dev/pcidevs.h and src/sys/dev/pcidevs_data.h using 'make -f Makefile.pcidevs'

6. Edited the src/sys/dev/pcireg.h file to add the changes that were included in the changes to pcireg.h when the support was added for the new iwn(4) devices in netbsd-current. It is essentially revision 1.57 (the netbsd-5 version) of pcireg.h patched with the changes between revision 1.60 and 1.61 of pcireg.h.

7. Added the updated firmware for the 5100 AGN to my filesystem.

The 5100 iwn(4) device in my Toshiba laptop successfully runs 'dhclient iwn0' in my patched netbsd-5 kernel (I am using the 5.0.2 release) where it listened for dhcp offers, but I haven't tested it with an actual wireless network in range yet to see if it makes a connection - I assume it will work with a network in range; if it doesn't when I try it I'll post a followup message.

The actual patchfile against the netbsd-5 kernel is too big to post here (about 300K) because the difference in if_iwn.c between the netbsd-5 version (revision 1.22.4.3 I think) and revision 1.33 is rather large.




Home | Main Index | Thread Index | Old Index