Bug 675630 - Update i2400m driver (WiMAX) to version 1.5
Summary: Update i2400m driver (WiMAX) to version 1.5
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: kernel
Version: 6.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: John W. Linville
QA Contact: Red Hat Kernel QE team
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-02-07 01:32 UTC by David Ward
Modified: 2013-05-31 18:48 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-05-31 18:48:19 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description David Ward 2011-02-07 01:32:39 UTC
Please rebase the i2400m driver (for Intel WiMAX adapters) to version 1.5, which is found in kernel 2.6.35. The existing driver in the RHEL 6 kernel requires the use of a closed-source, 32-bit only binary supplicant, which has been replaced for the new driver with an open-source supplicant that works with 64-bit userspace tools. The new version adds support for Kilmer Peak (i6250) devices and also includes bug fixes.

I was able to rebase the i2400m driver in kernel-2.6.32-71.14.1.el6 to version 1.5 myself, by applying the following commits from git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6-stable.git. Then after building and installing the userspace tools from linuxwimax.org, I can successfully connect to CLEAR in Atlanta. (Note that the very last commit was included in kernel 2.6.36 rather than 2.6.35: it fixes a memory access issue found after the release of version 1.5.)

663ebb4aa2fd0d19e3d1da0fed3fa3fa134a4ef0 wimax/i2400m/usb: remove unnecessary power management primitive in i2400m
5b45bfe5010ae1ddaac463d1bcdb141a4ff4ff66 wimax/i2400m: fix the bootmode RX deadlock in SDIO driver
c29eaf3faef7547ba72355bac44e9ca6ffdaee39 wimax: indicate initial SW rfkill state is "blocked"
a6346fa583766a51b7723288fc5d73ee5ea93479 i2400m: keep index within ms_to_errno[]
2d44f204adf503eb1774f0ab7e404031168851ea wimax: misplaced parenthesis
abb307338396bd58f5d9d32c4e56ef40ff668a74 i2400m: minimal ethtool support
81b182a7542c4282191fa0b1e8d9fcb022c03e68 wimax/i2400m: Update comments to talk about SDIO reset and not USB.
a134fd6b103b78378e3beb6af94d8d8c2abdd19d wimax/i2400m: Ensure boot mode cmd and ack buffers are alloc'd before first message
c30836580b35ae5cab3de97a3df16878fe097868 wimax/i2400m: Make boot retries a BUS-specific parameter
f2696fbdb623993a9b4c05455df7ae3158a01111 wimax/iwmc3200: overwrite SDIO IOR timeout value to avoid platform hang
5c29e21d4768a7f1ce46f622b379802edeb1daf3 wimax/iwmc3200: don't disable the SDIO function if enable fails
8bec9a5efd5691c5a32d85da1da09643290ebb72 wimax/iwmc3200: increase wait time before enable retry
2093586de29418820b89aae05746511392f8ad73 wimax/i2400m: USB driver uses a configurable endpoint map
339ccc362cb60b48e478ff494172efadb385c0ab wimax/i2400m/sdio: clear the INTR status bit after reading size
77e1251a7cc64c1e483a31c41c139fdf8121e75e wimax/i2400m: be smarter about copying command buffer to bm_cmd_buf
8d8fe198c6a756ae96617548af4776e7a86c0d3e wimax/i2400m: don't write to memory allocated by request_firmware()
c77ca950abb587bcebad6dcd0b0b41d7c0255ce9 wimax/i2400m: during probe, call sdio_disable at most once
4dc1bf074e4db5aa281a7b82ceebb24df98922d2 wimax/i2400m: add missing debug submodule definition
4c2b1a11646bf74e2926ce8b13a21884adc1e05c wimax: allow specifying debug levels as command line option
59bdc4be0b819173a8f840fc11ccb82d6f2ca64b wimax/i2400m: workaround not-so-working %zd printf format
32742e6158657f19ad31653705bef56d983508e7 wimax/i2400m: decide properly if using signed vs non-signed firmware loading
aba3792ac2d7c808a2d2fd2adf89531e083bdb90 wimax/i2400m: rework bootrom initialization to be more flexible
ebc5f62b76ad540ff7b3e438506638009e7812a6 wimax/i2400m: retry loading firmware files in sequence
923d708fed9d47c7b4d67694500d766337663e29 wimax/i2400m: fix reboot echo/ack barker deadlock
fabce1a485dd985c0e4c16f61f4ddb5e27e49cbf wimax/i2400m: verify firmware format version is known
bfc44187bbaeabf597be6566a24e8fa7d689b984 wimax/i2400m: support extended firmware format
10607c86e163e3da8bdf58a934da7dd3a68dcb7c wimax/i2400m: on firmware upload, select BCF header that matches device's request
f8fc3295570115267ce1ce901f362d13d194aefc wimax/iwmc3200: add new sdio device ID to support iwmc3200 2.5GHz sku
7329012e673231dee9a21567cfb9881f5ea462ba wimax/i6x50: add Intel WiFi/WiMAX Link 6050 Series support
b0fbcb2a0b54ee201fa8af61fdebe14c050f18fe wimax/i2400m: clean up & add a payload argument to i2400m_schedule_work()
3ef6129e57b04c116b1907b72c7a20720e6dde75 wimax/i2400m: add reason argument to i2400m_dev_reset_handle()
7b43ca708a767a5f68eeeb732c569c0f11a7d6f7 wimax/i2400m: cache firmware on system suspend
1a5a73c0c5459f991b871855eb36099df65ecb7e wimax/i2400m: implement .reset_resume in USB subdriver
cb5b756f746b77c5323ae413a41e9a40ea33c453 wimax/i2400m: don't overwrite error codes when failing to load firmware
ac53aed9349242095a780f57ac0c995fb170c950 wimax/i2400m: on device stop, clean up pending wake & TX work
8f90f3ee83dc54e182d6a7548727cbae4b523e6e wimax/i2400m: cleanup initialization/destruction flow
c2315b4ea9ac9c3f8caf03c3511d86fabe4a5fcd wimax/i2400m: clarify and fix i2400m->{ready,updown}
0856ccf29dfbaf957e4be80dd3eb88d97810b633 wimax/i2400m: introduce i2400m->bus_setup/release
2869da8587604e3fea5f85aeade486a08e8313bf wimax/i2400m: do bootmode buffer management in i2400m_setup/release()
3725d8c97436aeaa03eeb0c25361a7ec0f3f5bd2 wimax/i2400m: Implement pre/post reset support in the USB driver
e1633fd636f3ed0379fcf08c47962205eadddb6b wimax/i2400m: reduce verbosity of debug messages in boot mode
9835fd84990ca253c5b625005717a9be492788c0 wimax/i2400m: fix race condition with tcpdump et al
de9315fa3a35ebe587cc1a1c88655d095846785e wimax: allow user space to send messages once the device is registered
81d3f905389e22bb9a5176b9309c3f451c260e1a wimax: allow WIMAX_RF_QUERY calls when state is still uninitialized
6f4fc90a36fbe87e3003b3f7c8090ecc89bd1353 wimax/i2400m: use JUMP cmd for last FW chunk indication
28cff50d99ce9a1db65b7d4dcdcc0f1f8d9f9309 wimax/i2400m: change the bcf_len to exclude the extended header size
5eeae35b9a2e304fc4ae3d9eed63afeea23b482c wimax/i2400m: when stopping the device, cancel any pending message
b9ee95010bee6c0e17d18bc9d9c0cfab6e8cb73a wimax/i2400m: fix deadlock: don't do BUS reset under i2400m->init_mutex
af77dfa7811cd4e533003a9e7e9bf27dece96c6d wimax/i2400m: move i2400m_init() out of i2400m.h
a0beba21c3e2dff9a31739f1660ba3ff8c7150a7 wimax/i2400m: queue device's report until the driver is ready for them
46c501473d0a6fa62435dfd65c6884e1fd63b327 wimax/i2400m: fix oops in TX when tearing down the device
0c96859d7a5f0286ed70d3c4e140ac6816a350da wimax/i2400m: Let device's status reports change the device state
4a78fd9a736db4c871bc8b583d66b61c38abd299 wimax/i2400m: fix oops caused by race condition when exiting USB kthreads
097acbeff98178e01c2f6adb2259ab4d811340cc wimax/i2400m: make i2400m->bus_dev_{stop,start}() optional
a8ee303cae6fbdaa639afa50b9d03ce6f0c7d7da wimax/i2400m: SDIO: fix oops on reset when TXing on uninitialized data
ce5eb7a29251a66e613a300532b642ddc23b48d8 i2400m-sdio: select IWMC3200TOP in Kconfig
55a662d6468005ec3cd799fbd8d0ad03dfae6d2a wimax/i2400m: implement passive mode as a module option
c931ceeb780560ff652a8f9875f88778439ee87e wimax/i2400m: introduce i2400m_reset(), stopping TX and carrier
5ab5a7215a0cfd40572a9f09276ebcb071ee6fb7 wimax/i2400m: fix device getting stuck in IDLE mode
296bd4bdd0a43c5e56ee310bcb9b4722e5d52db8 wimax/i2400m: Fix USB timeout specifications (to ms from HZ)
02eb41ef2a8631022fd90e096c57562dec9e7a9a wimax/i2400m: correctly identify all iwmc3200-based SKUs
fae92216da87d1c78aa51c4503acb312a47266e9 wimax/i2400m: don't retry SDIO enable in probe() paths
faf57162e462eafe87458e21bf641f9d138f8171 wimax/i2400m: handle USB stalls
5a039e78522502067a68c969fb87fba1e39bc2a6 wimax/i2400m: fix bad assignment of return value in i2400mu_tx_bulk_out
20d57f8e2553fa6f5cd382131b7f18e91c7141fc wimax/i2400m: fix SDIO debugfs dentry name
e7fec0bbf13b9bc2869a18e66f0cda7bb7f559f0 wimax/i2400m: fix inverted value in i2400ms_bus_setup()
595acf270e098ee3af92890253c5db41bc85de88 drivers/net/wimax/i2400m/fw.c: use %pM to show MAC address
4754b3de93f893e85d811031ff742fc7a4f53db4 drivers/net/wimax/i2400m/driver.c: use %pM to show MAC address
b81124696e6a47d5db02b2b3561d66d1392b0f2f wimax/i2400m: Add support for more i6x50 SKUs
a424077a0a48d5b2e1bdbb8cc56fd43abfd7fd6c wimax: remove unneeded variable
4818d14de36228a749f714b450a85c1b35542e6f wimax/i2400m: fix incorrect return -ESHUTDOWN when there is no Tx buffer available
080de04e6229c49be41b811f5d5429afd6ed736d wimax/i2400m: move I2400M_MAX_MTU enum from netdev.c to i2400m.h
570eb0ea65db625e0b11ca97f4ae857bc1193250 wimax/i2400m: fix insufficient size of Tx buffer for 12 payload of 1400 MTU.
f22cf689a6353f072bca15d0a26f870e62dfacf8 wimax/i2400m: fix the race condition for accessing TX queue
49d72df3f6cd63b49528306a2577ae7a6a0e9d6b wimax/i2400m: correct the error path handlers in dev_start()
f4e413458104210bc29aa5c437882c68b4b20100 wimax/i2400m: fix for missed reset events if triggered by dev_reset_handle()
599e59538448ee49d5470f226bb191b2f78aa3a2 wimax/i2400m: add the error recovery mechanism on TX path
2354161dd33b204d36caa0bc48c95cc6c1a984fb wimax/i2400m: Correct the error path handlers order in i2400m_post_reset()
d94401742dc662747db5bb9e444d353a4feba018 wimax/i2400m: Reset the TX FIFO indices when allocating the TX FIFO in tx_setup()
e6dd789af1823908ed3ccda26bf07faf5970bce1 wimax/i2400m: increase the maximum number of payloads per message to 60 [v1]
a40242f2cde38ccb04d4c35cad66aab3c047fa6a wimax/i2400m: limit the message size upto 16KiB [v1]
718e94907d79e74bbc7cfdb3cda2266079c5e993 wimax/i2400m: fix BUILD_BUG_ON() to use the maximum message size constant [v1]
9e6e3bd52b0f77ca5cc385892c14ff8ba5ecfa67 wimax/i2400m: modify i2400m_tx_fifo_push() to check for head room space in the TX FIFO [v1]
85a19e07e30f67c517266cafe92b7bcd9b98966d wimax/i2400m: fix system freeze caused by an infinite loop [v1]
ded0fd62a8a7cb3b12bb007079bff2b858a12d2b wimax/i2400m: increase tx queue length from 5 to 20 [v1]
d11a6e4495ee1fbb38b59bc88d49d050d3736929 wimax i2400m: fix race condition while accessing rx_roq by using kref count
0809a7bbe8fbcb4e899b0a3224d8461bd74987e0 wimax/i2400m: fix incorrect handling of type 2 and 3 RX messages
27502908866ba37d03594e7f7ee7b649cb007330 wimax/i2400m: reserve additional space in the TX queue's buffer while allocating space for a new message header
8a3a1b65eeecd18357ac0cc941f43df153d4f271 wimax/i2400m: SDIO specific TX queue's minimum buffer room for new message
7ef9f9a4ee47b8d8ab9519647ba02fc700473be8 wimax/i2400m: USB specific TX queue's minimum buffer room required for new message
d3e56c0ad8a2dab7ffd6179b64f00702149e5c9a wimax: checking ERR_PTR vs null
3e02a06ae3dce2eb804bb4afadb7067c80d6c096 wimax: wimax_msg_alloc() returns ERR_PTR not null
9d7fdf1ba9d5b8963bf8ffe29eea17f508e81bde wimax/i2400m: Move module params to other file so they can be static
6c6706b330afbc0cb53e2af4d73022d1c1273f42 wimax/i2400m: driver defaults to firmware v1.5 for i5x50 devices
0fb0a4f00aaf5de9f328273d7a46e3aa27dab496 wimax/i2400m: driver defaults to firmware v1.5 for i6x60 devices
3a24934f065d23145f1c9c70da9f630c7a37795f wimax/i2400m: fix bad race condition check in RX path
a385a53e659b35ebee604889e21c40e5c336941f wimax/i2400m: fix missing endian correction read in fw loader
41a8730c23aba4b77a13e5e151d2b69cd10ef6cb wimax/i2400m: Add PID & VID for Intel WiMAX 6250
e3d32687a624845e97f9717d9d2027b44b8c49a2 wimax: make functions local
0aa7deadffd8b596983a3abe29a218b4c5f43301 NET: wimax, fix use after free

Comment 3 RHEL Program Management 2011-04-04 02:49:04 UTC
Since RHEL 6.1 External Beta has begun, and this bug remains
unresolved, it has been rejected as it is not proposed as
exception or blocker.

Red Hat invites you to ask your support representative to
propose this request, if appropriate and relevant, in the
next release of Red Hat Enterprise Linux.

Comment 4 RHEL Program Management 2011-10-07 15:22:14 UTC
Since RHEL 6.2 External Beta has begun, and this bug remains
unresolved, it has been rejected as it is not proposed as
exception or blocker.

Red Hat invites you to ask your support representative to
propose this request, if appropriate and relevant, in the
next release of Red Hat Enterprise Linux.

Comment 6 John W. Linville 2013-04-23 14:27:16 UTC
Is this still desirable?  My understanding is that most WiMAX networks have been replaced by LTE?

Comment 8 David Ward 2013-04-25 17:17:41 UTC
John, the use case for this in the United States is people who use Clearwire (http://www.clear.com/) which is deployed in several major cities and uses WiMAX. While they have announced upcoming support for LTE, CLEAR states that "We will continue to use a WiMAX based network long into the future." (http://www.clear.com/blog/decoded-what-is-4g-what-is-4g-lte-and-what-is-wimax/)

In my personal situation I do not have a need for this anymore, but others may for the same reasons I originally did -- people who want to use their WiMAX-equipped laptop directly on Clearwire around town.

Comment 10 John W. Linville 2013-05-31 18:24:08 UTC
Given the low demand for WiMAX and doubts about its future, I can't ask for the QA resources to push an update to the driver in question.

Comment 11 RHEL Program Management 2013-05-31 18:48:19 UTC
Development Management has reviewed and declined this request.
You may appeal this decision by reopening this request.


Note You need to log in before you can comment on or make changes to this bug.