prism54: eeprom failed

Bug #90902 reported by magilus
18
Affects Status Importance Assigned to Milestone
linux-source-2.6.20 (Ubuntu)
Won't Fix
High
Unassigned

Bug Description

Binary package hint: linux-source-2.6.20

I am currently trying to get my Gigaset USB Adapter 54 to work, which should be supported by prism54.

But after plugging it in, the syslog says this:

Mar 9 19:16:45 localhost kernel: [11786.605045] prism54usb: eeprom read failed!
Mar 9 19:16:45 localhost kernel: [11786.605070] prism54usb: probe of 1-2:1.0 failed with error -22

And I can not use my WLAN adapter.

ProblemType: Bug
Architecture: i386
Date: Fri Mar 9 19:18:25 2007
DistroRelease: Ubuntu 7.04
Uname: Linux martin-desktop 2.6.20-9-generic #2 SMP Mon Feb 26 03:01:44 UTC 2007 i686 GNU/Linux

Update: Also appears with 2.6.20-12-generic

Revision history for this message
magilus (magilus) wrote :
Revision history for this message
magilus (magilus) wrote :
Revision history for this message
magilus (magilus) wrote :
Revision history for this message
Brian Murray (brian-murray) wrote :

Thanks for taking the time to report this bug and helping to make Ubuntu better. Do you have the linux-restricted-modules package installed? Thanks in advance.

Changed in linux-source-2.6.20:
assignee: nobody → brian-murray
status: Unconfirmed → Needs Info
Revision history for this message
magilus (magilus) wrote :

Yeah, I do:

martin@martin-desktop:~$ LC_ALL=C dpkg -l | grep linux-restricted-modules-`unam -r`
ii linux-restricted-modules-2.6.20-9-generic 2.6.20.2-9.8 Non-free Linux 2.6.20 modules on x86/x86_64

Changed in linux-source-2.6.20:
status: Needs Info → Unconfirmed
Changed in linux-source-2.6.20:
assignee: brian-murray → nobody
importance: Undecided → Medium
status: Unconfirmed → Confirmed
magilus (magilus)
Changed in linux-source-2.6.20:
assignee: nobody → ubuntu-kernel-team
description: updated
Revision history for this message
Ian Ohr (munk3h) wrote :

I'm suffering with this after having upgraded to Feisty on Thursday 2007-04-05. Is there any way I can provide extra, useful information for this bug report. Also is there any kind of workaround in the mean time as the wireless is this PCs only direct internet access. I'm fine to burn some .debs to CD to get a workaround installed until this is fixed.

Apart from this issue I'm pretty damn impressed with Feisty.

Revision history for this message
udude (igal) wrote :

I think I'm also encountering this bug when trying to connect a usb-wifi dongle (using ndiswrapper) :

$ tail /var/log/messages
Apr 13 00:49:41 cheb-laptop kernel: [ 1501.160000] usb 5-1: new high speed USB device using ehci_hcd and address 4
Apr 13 00:49:41 cheb-laptop kernel: [ 1501.304000] usb 5-1: configuration #1 chosen from 1 choice
Apr 13 00:49:41 cheb-laptop kernel: [ 1501.316000] p54: LM86 firmware
Apr 13 00:49:42 cheb-laptop kernel: [ 1502.548000] prism54usb: probe of 5-1:1.0 failed with error -22

$ dmesg
[ 1496.132000] usb 5-5: USB disconnect, address 3
[ 1501.160000] usb 5-1: new high speed USB device using ehci_hcd and address 4
[ 1501.304000] usb 5-1: configuration #1 chosen from 1 choice
[ 1501.316000] p54: LM86 firmware
[ 1502.548000] prism54usb: eeprom read failed!
[ 1502.548000] prism54usb: probe of 5-1:1.0 failed with error -22
[ 1502.548000] usb 5-1: device_add(5-1:1.0) --> -22

$ lsusb
Bus 005 Device 003: ID 0baf:0118 U.S. Robotics U5 802.11g Adapter

upon connecting, the system would often hang. I can provide more info if required (on e non-hanging cases).

Revision history for this message
Ian Ohr (munk3h) wrote :

#90902

I apologise. This is not the bug I am experiencing. My bug is #105357. Sorry for the confusion.

I did look into the source code for where this "eeprom read failed!" message is generated. The driver attempts to read the eeprom from the device but when it examines the buffer where the response from the card should be, there is less than the expected amount of data there. I suspect the usb URB puts no data in this buffer, because the system is requesting the information from the wrong device, or sent a malformed request.

The former suggests a problem with usb device enumeration, the latter would be a problem with the driver itself. I am not a developer so this could all be horribly wrong.

See /usr/src/linux/ubuntu/wireless/p54/prism54usb.c if you install the linux-source package and extract it to /usr/src/linux. Line 354 contains the condition to error out or not. That's pretty much the extent of my investigation until I realised this wasn't my itch, but is very similar. I get

[ 37.620108] 0000:03:00.0 (prism54pci): Cannot read eeprom!
[ 37.620189] prism54pci: probe of 0000:03:00.0 failed with error -22

Revision history for this message
Vincenzo Di Massa (hawk-it) wrote :

I suffer from the same problem.
My hw is a Version 1000 F5D7050 Bekin usb adapter.
The device does work using the edgy and islsm from git (after extracting the fiwmare with fwextract from the windows .sys file using
 ./fwextract PRISMAXP.SYS isl3886 nobyteswap
and then sudo cp isl388600.arm /lib/firmware/$(uname -r)/isl3890usb

The problem is not yet resolved (tried latest mwu and linville branches from git) upstream.

islsm_usb does not compile on feisty due to the use of mac80211 as the network stack (I guess).

The problem at /usr/src/linux/ubuntu/wireless/p54/prism54usb.c:351

        err = usb_bulk_msg(priv->udev,
                           usb_rcvbulkpipe(priv->udev, P54U_PIPE_DATA),
                           buf, 0x2020, &alen, 1000);

is that alen is left 0. The islsm drivers *works* in a completely different way.

Revision history for this message
Vincenzo Di Massa (hawk-it) wrote : [SOLUTION] Re: prism54: eeprom failed

Thanks to the help from Michael Wu (the p54 driver author) I found out that the firmware that Feisty uses is not the one supposed to be used with p54.

Michael suggested to use a newer firmware. I tried 2.5.6.0 from http://jbnote.free.fr/prism54usb/PrismFirmwares.html and it worked.

What worked here was to copy the file http://jbnote.free.fr/prism54usb/data/firmwares/p54u_2.5.6.0.arm over /lib/firmware/`uname -r`/isl3890usb.

To find out what is the version of the isl* firmwares on your system you can just use the following:
$ for i in /lib/firmware/`uname -r`/isl*; do echo "$i:"; strings $i | grep Vers ; echo -ne "\n\n"; done

Now, should the package be fixed in the updates repo? (I'm asking because I'd like to know how "The Process" works :-) )

Revision history for this message
Javier Jardón (jjardon) wrote :

prism54pci affected too. See duplicates: bug #106987 and bug #105357

Revision history for this message
Siegfried (siegzeit) wrote :

I am affected by this problem as well. It looks like Vincenzo's solution might work. Is there any chance we might see it in coming updates?

Revision history for this message
Ben Collins (ben-collins) wrote :

Phillip, please see about this bug for a future update to feisty.

Changed in linux-source-2.6.20:
assignee: ubuntu-kernel-team → phillip-lougher
importance: Medium → High
status: Confirmed → In Progress
Revision history for this message
Stefano Rivera (stefanor) wrote :

Can't test for this in gutsy, due to bug #129537

Revision history for this message
Stefano Rivera (stefanor) wrote :

For the record, Prism54 now works beautifully in Gutsy's 2.6.22-10

Revision history for this message
Ian Ohr (munk3h) wrote : Re: [Bug 90902] Re: prism54: eeprom failed

Oh good

On 26/08/07, Stefano Rivera <email address hidden> wrote:
> For the record, Prism54 now works beautifully in Gutsy's 2.6.22-10
>
> --
> prism54: eeprom failed
> https://bugs.launchpad.net/bugs/90902
> You received this bug notification because you are a direct subscriber
> of the bug.
>

--
Ian Ohr

Changed in linux-source-2.6.20:
status: In Progress → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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