This page tries to list all the '''legal and technical implications''' of distributing the different WiFi '''firmwares''' for use on Haiku. [[BR]] While a nice source of info, it is not intended as a user install guide but for Haiku developers and contributors to bring WiFi on Haiku while fully complying to the various vendor licenses and copyrights. ''(author note: 2009-12-5, in construction, please refine/fix/complete)'' [[BR]] == General == Should we ask vendors for agreements when necessary? (''cf. [http://www.osnews.com/story/17444/FreeBSD_Gets_Intel_Approval_for_Redistribution_of_Wireless_Firmware| Old OSNews Article]'') '''todo: find the contact points''' [[BR]] ==== Progress on getting Intel contact points: ==== * 09/12/05 umccullough: bosii, i just emailed freebsd's "Vendor relations" group to inquire about Intel contacts. * 09/12/15 umccullough: bosii, i never heard back from the freebsd guys, so I'll probably try to contact intel directly next == Intel == Official Downloads: http://www.intellinuxwireless.org/?n=downloads&f=ucodes_3945 [[BR]] Official License FAQ: http://www.intellinuxwireless.org/?n=FAQ&s=license [[BR]] ==== Recommended firmware versions ==== This Versions are the minimal required ones. So higher Versions could work, too. These minimal versions are taken from the FreeBSD 8 Makefiles (see links). [[BR]] 2100 -> 1.3 http://svn.freebsd.org/viewvc/base/release/8.0.0/sys/modules/ipwfw/ipw_bss/Makefile?revision=199625&view=markup [[BR]] 2200/2945 -> 3.0 http://svn.freebsd.org/viewvc/base/release/8.0.0/sys/modules/iwifw/iwi_bss/Makefile?revision=199625&view=markup [[BR]] 3945 -> 2.14.4 http://svn.freebsd.org/viewvc/base/release/8.0.0/sys/modules/wpifw/Makefile?revision=199625&view=markup [[BR]] 4965 -> 4.44.17 http://svn.freebsd.org/viewvc/base/release/8.0.0/sys/modules/iwnfw/Makefile?revision=199625&view=markup [[BR]] ==== ipw3945 ==== 2.14.4 Download: http://www.intellinuxwireless.org/iwlwifi/downloads/iwlwifi-3945-ucode-2.14.4.tgz [[BR]] 2.14.4 Licence: http://www.intellinuxwireless.org/tar.php?p=iwlwifi&f=LICENSE.iwlwifi-3945-ucode&a=iwlwifi-3945-ucode-2.14.4.tgz [[BR]] 2.14.4 Readme: http://www.intellinuxwireless.org/tar.php?p=iwlwifi&f=README.iwlwifi-3945-ucode&a=iwlwifi-3945-ucode-2.14.4.tgz [[BR]] -> Distribution method: seems possible with the image. ==== ipw4965 ==== 4.44.17 Download http://www.intellinuxwireless.org/iwlwifi/downloads/iwlwifi-4965-ucode-4.44.17.tgz [[BR]] 4.44.17 Licence http://www.intellinuxwireless.org/tar.php?p=iwlwifi&f=README.iwlwifi-4965-ucode&a=iwlwifi-4965-ucode-4.44.17.tgz [[BR]] 4.44.17 Readme http://www.intellinuxwireless.org/tar.php?p=iwlwifi&f=LICENSE.iwlwifi-4965-ucode&a=iwlwifi-4965-ucode-4.44.17.tgz [[BR]] -> Distribution method: ==== ipw2100 ==== License & Download: http://ipw2100.sourceforge.net/firmware.php?fid=4 [[BR]] The download link is at the bottom, in "I Agree" -> Distribution method: Distribution method: ipw2xxx firmware ships with Haiku, but gets only installed when user had chance to read license. And then we can argue about how this chance should look like... ? matt: suggests distributing original archive & attached script. to remove all need for an active network connection: the script can have the license embedded, which is then cat'd to a temporary file when the user wants to view the license. ==== ipw2200/2945 ==== License: http://www.intellinuxwireless.org/LICENSE.ipw2200-fw [[BR]] License & Download: http://ipw2200.sourceforge.net/firmware.php?fid=7 [[BR]] The download link is at the bottom, in "I Agree" -> Distribution method: the same as ipw2100 '' References: http://www.intellinuxwireless.org/?n=Info [[BR]] http://www.freebsd.org/cgi/man.cgi?query=iwi&apropos=0&sektion=0&manpath=FreeBSD+8.0-RELEASE&format=html [[BR]] '' == Broadcom == ==== Recommended firmware versions ==== The FreeBSD 8 driver only supports firmwares of version 3 (see link below). There is only one version 3 firmware available. * b43xx -> [http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o 3.130.20.0] http://fxr.watson.org/fxr/source/dev/bwi/if_bwi.c?v=FREEBSD8#L382 (BWI_FW_VERSION3) [[BR]] ==== b43xx ==== * http://linuxwireless.org/en/users/Drivers/b43#device_firmware * from the above link, "Please note that the firmware from the binary drivers is Copyrighted by Broadcom Corporation and must not be redistributed." and "Because the proprietary driver containing the firmware cannot be included in the distribution, you will need a working connection to the Internet." * A required tool, 'b43-fwcutter' is GNU GPL V2. HaikuPorts has ported [http://ports.haiku-files.org/browser/haikuports/trunk/net-wireless/b43-fwcutter b43-fwcutter] * One of the suggested driver downloads, [http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2 broadcom-wl-4.80.53.0.tar.bz2] contains a file 'WHERE_FROM' with the contents "From the Linksys WRT350N v1.03.2 GPL release" * At least some distributions explicitly request acknowledgment from the end user. -> Distribution method: post install unmodified download + post download processing + license warning ? == Marvell == ==== 88w8335 ==== * Requires a [http://www.nazgul.ch/malo/malo-firmware-1.4.tgz firmware], which is not publicly available, and therefor cannot be distributed with Haiku. * The firmware files malo8335-h and malo8335-m must reside in /system/data/firmware/marvell88w8335 -> Distribution method: the same as b43xx ==== 88w8363 ==== * Firmware allows distribution with Haiku. I recommend the way FreeBSD is doing it: * The FreeBSD repository contains the uuencoded version of the firmware files combined with the License. [http://svn.freebsd.org/viewvc/base/release/8.0.0/sys/contrib/dev/mwl/mw88W8363.fw.uu?revision=199625&view=markup mw88w8363], [http://svn.freebsd.org/viewvc/base/release/8.0.0/sys/contrib/dev/mwl/mwlboot.fw.uu?revision=199625&view=markup mwlboot] * The FreeBSD Distribution contains then the (uudecoded) binary firmware and puts the license in the appropriate license directory. * The Haiku way could look like this: * Haiku's repository contains the uuencoded firmware files mw88W8363fw.uu and mwlboot.uu (both prefixed with the [http://svn.freebsd.org/viewvc/base/release/8.0.0/sys/contrib/dev/mwl/LICENSE?view=markup license]) in data/system/data/firmware/marvell88w8363/. * Haiku's repository contains the license file itself in data/system/data/firmware/marvell88w8363, too. * Haiku images contain the uudecoded firmware files mw88W8363fw and mwlboot in /system/data/firmware/marvell88w8363/. * Haiku images contain the license file in the appropriate license announcing locations. -> Distribution method: with the image == Ralink Technology == ==== RT2561, RT2561S, RT2661 ==== * Get the firmware from the [http://www.ralinktech.com Ralink Technology homepage] -> Software -> Linux -> Firmware RT2501(RT2561/RT2661) * Extract the three firmare binaries, uuencode them, prefix them with the license (contained in the archive) and name them accordingly (rt2561fw.uu, rt2561sfw.uu, rt2661fw.uu). * Haiku's repository contains the uuencoded firmwares and the license in data/system/data/firmware/ralinkwifi/. * Haiku images contain the uudecoded firmware files rt2561fw, rt2561sfw and rt2661fw in /system/data/firmware/ralinkwifi/. * Haiku images contain the license file in theappropriate license announcing locations. -> Distribution method: with the image == Firmware Distribution methods == === Preparation for Mailinglist discussion === ==== Firmware for iprowifi2100 and iprowifi2200 ==== * Main issue is that the license requires the end user taking notice of the license before using the firmware. [[BR]] -> colin, mmadia discussed the topic on distributing the firmware along with Haiku. Based on the [http://www.intellinuxwireless.org/?n=faq&s=license#license_1 3 bullets] we are consensing that distributing and using the firmware out of the box is feasible. But it would require that the Haiku Installer includes a notion about the Intel firmware license and its strictness.