Changes between Version 54 and Version 55 of HardwareInfo/WirelessFirmwares


Ignore:
Timestamp:
Mar 1, 2010, 2:57:23 AM (10 years ago)
Author:
mmadia
Comment:

updated page, to hide non-relevant information.

Legend:

Unmodified
Added
Removed
Modified
  • HardwareInfo/WirelessFirmwares

    v54 v55  
    1 This page tries to list all the '''legal and technical implications''' of distributing the different WiFi '''firmwares''' for use on Haiku. [[BR]]
    2 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.
     1As of r35692, all of the wireless drivers are included in the default image of Haiku. This page and its revision history is being kept for historical reference.
    32
    4 == General ==
     3The following drivers require the end user to run {{{ install-wifi-firmwares.sh }}} from within Haiku:
     4 * broadcom43xx
     5 * ipw2100
     6 * iprowifi2200
     7 * marvell88w8335
    58
    6 
    7 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]]
    8 
    9 ==== Progress on getting Intel contact points: ====
    10  * 09/12/05 umccullough: bosii, i just emailed freebsd's "Vendor relations" group to inquire about Intel contacts.
    11  * 09/12/15 umccullough: bosii, i never heard back from the freebsd guys, so I'll probably try to contact intel directly next
    12 
    13 == Intel ==
    14 Official Downloads: http://www.intellinuxwireless.org/?n=downloads&f=ucodes_3945 [[BR]]
    15 Official License FAQ: http://www.intellinuxwireless.org/?n=FAQ&s=license [[BR]]
    16 
    17 
    18 
    19 ==== Recommended firmware versions ====
    20 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]]
    21 2100 -> 1.3 http://svn.freebsd.org/viewvc/base/release/8.0.0/sys/modules/ipwfw/ipw_bss/Makefile?revision=199625&view=markup [[BR]]
    22 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]]
    23 3945 -> 2.14.4 http://svn.freebsd.org/viewvc/base/release/8.0.0/sys/modules/wpifw/Makefile?revision=199625&view=markup [[BR]]
    24 4965 -> 4.44.17 http://svn.freebsd.org/viewvc/base/release/8.0.0/sys/modules/iwnfw/Makefile?revision=199625&view=markup [[BR]]
    25 
    26 ==== ipw3945 ====
    27 2.14.4 Download: http://www.intellinuxwireless.org/iwlwifi/downloads/iwlwifi-3945-ucode-2.14.4.tgz [[BR]]
    28 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]]
    29 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]]
    30 
    31 -> Distribution method: seems possible with the image.
    32 
    33 ==== ipw4965 ====
    34 4.44.17 Download http://www.intellinuxwireless.org/iwlwifi/downloads/iwlwifi-4965-ucode-4.44.17.tgz [[BR]]
    35 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]]
    36 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]]
    37 
    38 -> Distribution method:
    39 
    40 ==== ipw2100 ====
    41 License & Download: http://ipw2100.sourceforge.net/firmware.php?fid=4 [[BR]]
    42 The download link is at the bottom, in "I Agree"
    43 
    44 -> 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. 
    45 
    46 ==== ipw2200/2945 ====
    47 License: http://www.intellinuxwireless.org/LICENSE.ipw2200-fw [[BR]]
    48 License & Download: http://ipw2200.sourceforge.net/firmware.php?fid=7 [[BR]]
    49 The download link is at the bottom, in "I Agree"
    50 
    51 -> Distribution method: the same as ipw2100
    52 
    53 ''
    54 References:
    55 http://www.intellinuxwireless.org/?n=Info [[BR]]
    56 http://www.freebsd.org/cgi/man.cgi?query=iwi&apropos=0&sektion=0&manpath=FreeBSD+8.0-RELEASE&format=html [[BR]]
    57 ''
    58 
    59 == Broadcom ==
    60 ==== Recommended firmware versions ====
    61 The FreeBSD 8 driver only supports firmwares of version 3 (see link below). There is only one version 3 firmware available.
    62  * 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]]
    63 
    64 ==== b43xx ====
    65  * http://linuxwireless.org/en/users/Drivers/b43#device_firmware
    66  * 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."
    67  * 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]
    68  * 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"
    69  * At least some distributions explicitly request acknowledgment from the end user.
    70 
    71 -> Distribution method: post install unmodified download + post download processing + license warning ?
    72 
    73 == Marvell ==
    74 
    75 ==== 88w8335 ====
    76  * 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.
    77  * The firmware files malo8335-h and malo8335-m must reside in /system/data/firmware/marvell88w8335
    78 
    79 -> Distribution method: the same as b43xx
    80 
    81 ==== 88w8363 ====
    82  * Firmware allows distribution with Haiku. Colin recommends zipping up the firmware and the respective license in a archive called marvell88w8363.zip.
    83  * The firmware would be named as needed by the driver already -> mw88W8363fw, mwlboot.
    84  * The archive would be stored under data/system/data/firmware/ in the repository.
    85  * Unzipped archive content would be put into /system/data/firmware/marvell88w8363/
    86 
    87 -> Distribution method: with the image
    88 
    89 == Ralink Technology ==
    90 
    91 ==== RT2561, RT2561S, RT2661 ====
    92  * Get the firmware from the [http://www.ralinktech.com Ralink Technology homepage] -> Software -> Linux -> Firmware RT2501(RT2561/RT2661)
    93  * Extract the archive and rename the firmware binaries to rt2561fw, rt2561sfw and rt2661fw.
    94  * Zip renamed firmwares and license into ralinkwifi.zip.
    95  * Haiku's repository contains the archive in data/system/data/firmware/
    96  * Unzipped archive content would be put into /system/data/firmware/ralinkwifi/
    97 
    98 -> Distribution method: with the image
    99 
    100 == Firmware Distribution methods ==
    101 === Preparation for Mailinglist discussion ===
    102 This mail is a sum up of issues arising when distributing 3rd party wifi firmware.
    103 Aldeck, mmadia, umccoullough and colin were involved in doing research and getting distribution issues sorted out.
    104 
    105  * Firmware distribution issues are grouped as follows:
    106    1. Distribution possible, User *must* take notice of license
    107       * iprowifi2100
    108       * iprowifi2200
    109    2. Distribution possible
    110       * iprowifi3945
    111       * iprowifi4965
    112       * marvell88w8363
    113       * ralinkwifi
    114    3. Distribution impossible
    115       * broadcom43xx
    116       * marvel88w8335
    117        
    118 ==== Common license rules ====
    119  * Putting license into HAIKU_TOP/data/system/data/licenses/
    120  * Putting license in firmware directory /system/data/firmware/<driver name>/
    121  * Adding one entry per driver to the AboutSystem
    122 
    123 ==== Common firmware rules ====
    124  * For every firmware based driver there is
    125    * a separate directory in the repository in HAIKU_TOP/data/system/data/firmware/<driver-name>/.
    126      * This directory contains the firmware in its original bundled form (sticking to license requirements)
    127    * a settings file <driver-name> in HAIKU_TOP/data/settings/kernel/drivers/ will map the FreeBSD firmware name to the vendor's original firmware name.
    128  * Firmware once installed, will reside in /system/data/firmware/<driver-name>/.
    129  * Firmware file permissions must be set to read-only, as they are loaded directly into kernel space (having future multi-user feature in mind).
    130 
    131 ==== Proposed handling of group 1 ====
    132  * Main issue is that the license requires that end users are taking notice of the license before using the firmware. [[BR]]
    133  * Colin and mmadia discussed the topic on distributing the firmware along with Haiku:
    134    * Based on the [http://www.intellinuxwireless.org/?n=faq&s=license#license_1 3 bullets] we are concurring that distributing and using the firmware out of the box is feasible.
    135    * But installing and using it right during boot is problematic. The user *must* have a chance reading the license first.
    136      * For the Haiku-CD-installation scenario this could be solved be adding the license to the Haiku Installer.
    137      * However, when used as a Live-CD/-USB where there is no need for running the installer first, the problem continues to exist.
    138    * '''Proposed solution''': Shipping the firmware inside its original bundled form with Haiku along with a script, allowing the user to install the firmware when he wants to. The installer script provides license conformance, by allowing the user to view the license prior to use. Note: Read [WirelessFirmwares#Onetorulethemall "One to rule them all"] section down the page.
    139  
    140   * Though one can read the [http://ipw2100.sourceforge.net/firmware.php?fid=4 license] in a way, that even distributing the firmware would require the user to consent to it before downloading/buying Haiku. This is why umccullough started getting in contact with Intel itself to get official distribution permission. No reaction so far. Nonetheless colin sees Haiku well prepared, for the case Intel declines, because it would be easy then to remove the firmware and modify the installer script to download the firmware.
    141 
    142 ==== Proposed handling of group 2 ====
    143  * Just stick to common license rules and every thing is fine.
    144 
    145 ==== Proposed handling of group 3 ====
    146  * Main issue is that redistribution is forbidden.
    147  * '''Proposed solution''':
    148    * Shipping a script for downloading, preparing and installing the firmware. Thus allowing the user to install the firmware when he wants to.
    149    * Once the firmware archives and accompanying tools are downloaded, they will be stored in the respective firmware installation folders. Thus preventing redownloading in the case of reinstalling the firmware. Reinstalling may be necessary when some sort of data corruption might render the firmware useless.
    150 
    151 === One to rule them all ===
    152  * For a smooth user experience mmadia and colin are proposing a "super" script for installing firmware with a single click. It merges the scripts described for group 1 and 3.
    153  * Advantages:
    154    * User doesn't need to know the difference between an Intel 2100, 2200, 2225,...
    155    * Reuse script code be merging 4 scripts into one
    156  * Disadvantages:
    157    * You need to educate users about where to find this script.
    158      * '''Proposed solution''': Adding an "Installing more driver" section to the Welcome page.
    159  
     9Additionally, those end users who build their own images may add the following line to there UserBuildConfig:
     10{{{
     11    AddOptionalHaikuImagePackages WifiFirmwareScriptData ;
     12}}}
     13Doing so will download and copy the files needed by {{{ install-wifi-firmwares.sh }}}. [[BR]]
     14'''NB''' Distributed images of Haiku must NOT include that optional package, as it would violate the redistribution clauses for that software. For more information, see [wiki:WirelessFirmwares?version=53 version 53] of this page.