isl3886usb firmware version is wrong for karmic kernels

Bug #437515 reported by Jasmine Hassan
24
This bug affects 3 people
Affects Status Importance Assigned to Milestone
linux-firmware (Ubuntu)
Fix Released
Medium
Tim Gardner
Nominated for Karmic by Jasmine Hassan

Bug Description

Binary package hint: linux-firmware

Just as the title says...

/lib/firmware/isl3886usb is the wrong version for karmic (which currently uses kernel 2.6.31).

As mentioned on: http://linuxwireless.org/en/users/Drivers/p54#firmware

Under the section:
> for 2.6.29 kernels and above: <

USB 1st generation (ISL3886 + net2280)
Required filename: isl3886usb (OK)
Recommended Image: http://daemonizer.de/prism54/prism54-fw/fw-usb/2.13.1.0.arm.0

Notice the recommended image filename mentioned above, specifically the firmware version 2.13.1.0

However... I plugged in my DLink DWL-G120 USB Wifi Adapter, which uses the isl3886 chipset according to this page:
http://linuxwireless.org/en/users/Drivers/p54/devices

root@dcptc:~# lsusb
Bus 001 Device 004: ID 2001:3701 D-Link Corp. [hex] DWL-G120 Spinnaker 802.11b

And dmesg shows:
-----------------------
Sep 27 08:05:18 dcptc kernel: [ 2487.420100] usb 1-1: new full speed USB device using uhci_hcd and address 4
Sep 27 08:05:18 dcptc kernel: [ 2487.569417] usb 1-1: configuration #1 chosen from 1 choice
Sep 27 08:05:25 dcptc kernel: [ 2488.292990] cfg80211: Calling CRDA to update world regulatory domain
Sep 27 08:05:25 dcptc kernel: [ 2492.088761] usb 1-1: firmware: requesting isl3886usb
Sep 27 08:05:25 dcptc kernel: [ 2493.454260] phy0: p54 detected a LM86 firmware
Sep 27 08:05:25 dcptc kernel: [ 2493.454277] p54: rx_mtu reduced from 3240 to 2392
Sep 27 08:05:25 dcptc kernel: [ 2493.454289] phy0: FW rev 2.13.24.0 - Softmac protocol 5.9
Sep 27 08:05:25 dcptc kernel: [ 2493.454301] phy0: cryptographic accelerator WEP:YES, TKIP:YES, CCMP:YES
Sep 27 08:05:25 dcptc kernel: [ 2494.696435] cfg80211: World regulatory domain updated:
Sep 27 08:05:27 dcptc kernel: [ 2494.696454] (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
Sep 27 08:05:27 dcptc kernel: [ 2494.696471] (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
Sep 27 08:05:27 dcptc kernel: [ 2494.696485] (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
Sep 27 08:05:27 dcptc kernel: [ 2494.696499] (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
Sep 27 08:05:27 dcptc kernel: [ 2494.696513] (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
Sep 27 08:05:27 dcptc kernel: [ 2494.696527] (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
Sep 27 08:05:27 dcptc kernel: [ 2496.593635] p54usb: probe of 1-1:1.0 failed with error -110

Probe failed, because when isl3886usb firmware was requested, FW rev 2.13.24.0 was loaded, which is wrong version. See link above: recommended version for 2.6.29 and newer kernels for isl3886 USB is 2.13.1.0.arm.0

Solution:
-----------
1. Renamed "isl3886usb" in "/lib/firmware" to "isl3886usb.bak"

2. Downloaded:
http://daemonizer.de/prism54/prism54-fw/fw-usb/2.13.1.0.arm.0
in "/lib/firmware" and renamed it to "isl3886usb"

Now I have:
root@dcptc:/lib/firmware# ls -l isl3886usb*
-rw-r--r-- 1 jas jas 29500 2009-09-27 08:51 isl3886usb
-rw-r--r-- 1 root root 30047 2009-09-16 21:47 isl3886usb.bak

3. Reloaded modules using `rmmod p54usb p54common` & `modprobe p54usb`, respectively

Now dmesg shows:
------------------------
Sep 27 08:52:58 dcptc kernel: [ 5127.682116] usbcore: registered new interface driver p54usb
Sep 27 08:52:58 dcptc kernel: [ 5226.849965] usbcore: deregistering interface driver p54usb
Sep 27 08:52:58 dcptc kernel: [ 5348.448756] cfg80211: Calling CRDA to update world regulatory domain
Sep 27 08:52:58 dcptc kernel: [ 5348.553985] cfg80211: World regulatory domain updated:
Sep 27 08:52:58 dcptc kernel: [ 5348.554006] (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
Sep 27 08:52:58 dcptc kernel: [ 5348.554022] (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
Sep 27 08:52:59 dcptc kernel: [ 5348.554036] (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
Sep 27 08:52:59 dcptc kernel: [ 5348.554050] (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
Sep 27 08:52:59 dcptc kernel: [ 5348.554064] (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
Sep 27 08:52:59 dcptc kernel: [ 5348.554078] (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
Sep 27 08:52:59 dcptc kernel: [ 5348.638467] usb 1-1: firmware: requesting isl3886usb
Sep 27 08:52:59 dcptc kernel: [ 5348.655667] phy0: p54 detected a LM86 firmware
Sep 27 08:52:59 dcptc kernel: [ 5348.655685] p54: rx_mtu reduced from 3240 to 2392
Sep 27 08:53:02 dcptc kernel: [ 5348.655697] phy0: FW rev 2.13.1.0 - Softmac protocol 5.5 <---------
Sep 27 08:53:02 dcptc kernel: [ 5348.655709] phy0: cryptographic accelerator WEP:YES, TKIP:YES, CCMP:YES
Sep 27 08:53:02 dcptc kernel: [ 5351.319999] phy0: hwaddr 00:13:46:xx:xx:xx, MAC:isl3886 RF:Frisbee (I XX'ed out last 3 octets of MAC Address for personal reasons)
Sep 27 08:53:02 dcptc kernel: [ 5351.580361] Registered led device: p54-phy0::assoc
Sep 27 08:53:02 dcptc kernel: [ 5351.580436] Registered led device: p54-phy0::tx
Sep 27 08:53:02 dcptc kernel: [ 5351.580522] Registered led device: p54-phy0::rx
Sep 27 08:53:02 dcptc kernel: [ 5351.580598] Registered led device: p54-phy0::radio

and now that the right firmware version for my recent karmic kernel (2.6.31 > 2.6.28) is loaded, I have a wlan device showing in `ifconfig -a` ... yaaaay! :)

On a sidenote, I believe bug #401531 is very similar to the issue I report here, but without the juicy details, so I will mark it as a duplicate of this bug

Bug #339548 is also be closely related to same cause (wrong firmware file version), although it is a different chipset (isl3890) but also covered in same page I mentioned above. Again: http://linuxwireless.org/en/users/Drivers/p54#firmware

I think the isl* files in /lib/firmware all need to be checked against those listed in the aforementioned page, to make sure they are the right versions for recent karmic kernels (2.6.31 > 2.6.29) to work properly...

--Jas

Changed in linux-firmware (Ubuntu):
importance: Undecided → Medium
status: New → Triaged
Revision history for this message
Jasmine Hassan (jasmine-aura) wrote :

Leann,

Why triaged? You didn't mention... Isn't this a matter of updating the firmware files (to the correct/appropriate versions) in the linux-firmware package in Karmic?
Is there someone upstream responsible of sorting those files instead? Has it been reported upstream?

Tim Gardner (timg-tpi)
Changed in linux-firmware (Ubuntu):
assignee: nobody → Tim Gardner (timg-tpi)
status: Triaged → In Progress
Revision history for this message
Tim Gardner (timg-tpi) wrote :
Changed in linux-firmware (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-firmware - 1.20

---------------
linux-firmware (1.20) karmic; urgency=low

  * p54: Use 2.13.1.0.arm.0 firmware version for isl3886 USB devices
    -LP: #437515

 -- Tim Gardner <email address hidden> Wed, 30 Sep 2009 09:01:46 -0600

Changed in linux-firmware (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.