I’m in the process of switching from Ubuntu 8.04 to OpenSUSE 11.1 and everything is working out quite nicely so far, except that USB WLAN Stick (Speedport W100) which is my connection to the internet. I had it already running under Ubuntu 8.04, but now I’m already stuck at the beginning.
I used ndiswrapper to wrap the original windows driver and
Have you tried setting this up with the p54usb driver? I have one of
those devices, and the driver is very solid. It will need external
firmware - a look at the output of dmesg will tell what it needs.
@Larry: Thanks for the suggestion. You mean, I should remove the ndiswrapper unduse the driver p54usb to get the WLAN Stick running? Can you give me a hint how to do that – or what would be the role of external firmware in this case? I’m a little bit lost with the terminology.
That gets the ndiswrapper module loaded; however, you still need to
configure ndiswrapper. You can look up those instructions yourself.
> @Larry: Thanks for the suggestion. You mean, I should remove the
> ndiswrapper unduse the driver p54usb to get the WLAN Stick running? Can
> you give me a hint how to do that – or what would be the role of
> external firmware in this case? I’m a little bit lost with the
> terminology.
Yes, that is what I mean. By using the p54usb driver you can avoid any
problems due to buggy Windows drivers crashing your system. It happens
a lot as Linux and Windows use very different memory layouts. A bug
that does an uncontrolled but harmless write in Windows can cause
Linux to crash. In addition, if you use a built-in driver, it is
automatically updated when there is a new kernel release. Out of
kernel drivers such as ndiswrapper have to be rebuilt.
A driver is the software that runs on your computer and controls a
device. Firmware is the software that is loaded into the device and is
executed on the internal processor. Sometimes the firmware is
contained in ROM on the device, but for p54usb, it is loaded into RAM
and must be reloaded whenever the device restarts.
thanks for the clarification. I used sudo /usr/sbin/iwconfig just to check whether the Stick was at least running.
So, I removed [ndiswrapper] and also the entry in the blacklist, then I loaded the p54usb driver with sudo /sbin/modprobe p54usb and checked the kernel messages which firmware it requested.
The request was for isl3887usb_bare, so I downloaded the corresponding firmware from p54 - Linux Wireless
renamed the file and put it into /lib/firmware.
After a reboot and sudo /sbin/modprobe p54usb I get the following lines at the end of dmesg
firmware: requesting isl3887usb_bare
p54: LM87 firmware - not supported yet!
p54: FW rev 2.13.1.0 - Softmac protocol 5.5
prism54usb: eeprom read failed!
prism54usb: probe of 5-7:1.0 failed with error -22
usbcore: registered new interface driver prism54usb
Can somebody please add some meaning to them for me. Does the second line mean, I need some additional firmware? Or that some firmware is installed, that is not supported and I should go back to the attempt with the ndiswrapper?
mpref wrote:
> Hi Larry,
>
> thanks for the clarification. I used sudo /usr/sbin/iwconfig just to
> check whether the Stick was at least running.
>
> So, I removed [ndiswrapper] and also the entry in the blacklist, then I
> loaded the p54usb driver with sudo /sbin/modprobe p54usb and checked
> the kernel messages which firmware it requested.
>
> The request was for isl3887usb_bare, so I downloaded the
> corresponding firmware from ‘p54 - Linux Wireless’
> (http://wireless.kernel.org/en/users/Drivers/p54)
> renamed the file and put it into /lib/firmware.
>
> After a reboot and sudo /sbin/modprobe p54usb I get the following
> lines at the end of dmesg
>
>
> Code:
> --------------------
>
> firmware: requesting isl3887usb_bare
> p54: LM87 firmware - not supported yet!
> p54: FW rev 2.13.1.0 - Softmac protocol 5.5
> prism54usb: eeprom read failed!
> prism54usb: probe of 5-7:1.0 failed with error -22
> usbcore: registered new interface driver prism54usb
>
> --------------------
>
>
> Can somebody please add some meaning to them for me. Does the second
> line mean, I need some additional firmware? Or that some firmware is
> installed, that is not supported and I should go back to the attempt
> with the ndiswrapper?
The firmware you loaded works with kernel 2.6.28, but not 2.6.27. The
LM87 firmware is better, but your version of the driver cannot handle
it. The file you need has LM86 firmware and the download is http://daemonizer.de/prism54/prism54-fw/fw-usb/2.5.8.0.arm.
I recommend that you open a console and run the following commands:
The wget command will download the 2.5.8.0 firmware, the mv command
will put the LM87 firmware where the system will be able to use it
when your driver is updated, and the cp command puts the LM86 firmware
where it needs to be.
I will be changing the web site to describe the problem you found and
the proper fix.
PS: Just to make sure, that I know, what we are trying to do right now. We are getting the WLAN Stick running, right?! (Setting up the connection with the router will still be a different issue, isn’t it.) I’ll know, that we have succeeded, when some wlan0 turns up after sudo /usr/sbin/iwconfig, true?
mpref wrote:
> Hi Larry,
>
> thanks for the link and the instructions. I did, as you said, and at
> least one error message has disappeared. Now the output of dmesg
> reads:
>
>
> Code:
> --------------------
>
> firmware: requesting isl3887usb_bare
> p54: LM86 firmware
> p54: FW rev 2.5.8.0 - Softmac protocol 3.0
> prism54usb: eeprom read failed!
> prism54usb: probe of 1-7:1.0 failed with error -22
> usbcore: registered new interface driver prism54usb
>
> --------------------
>
>
> What is this eeprom and that error -22 about?
>
> Greets,
> Conny
>
> PS: Just to make sure, that I know, what we are trying to do right now.
> We are getting the WLAN Stick running, right?! (Setting up the
> connection with the router will still be a different issue, isn’t it.)
> I’ll know, that we have succeeded, when some wlan0 turns up after
> sudo /usr/sbin/iwconfig, true?
The eeprom is the erasable programmable read-only memory on the
device. The error -22 is due to loading a program into the device (aka
firmware) that is not compatible. We could have you go to http://daemonizer.de/prism54/prism54-fw/ and try the USB firmwares
that are older than 2.5.8.0, but that might take several tries. If you
have a compiler installed, then you could extract the firmware from
your Windows .sys file - the one you installed with ndiswrapper. If
you are not comfortable with building a program, then E-mail me that
…sys file to Larry.Finger@lwfinger.net. I’ll send you back the
firmware file.
We will have succeeded when there are no error messages in dmesg. At
that point, wlan0 will appear.
I guess, I’ll have to get back to your offer about e-mailing you the .sys file. Though I tried to extract the firmwire driver myself via fwextract from the prism 54 webpage. Calling
./fwextract PRISMA02.sys basename nobyteswap
sent me into a neverending loop producing an endless sequence of basename##.arm files. (Using the byteswap option, it didn’t produce any output at all.) Those files all seemed to cut out the same lines from the sys file, so I tried it with one of them anyways. After copying to firmware and the usual modprobe the dmesg returned:
firmware: requesting isl3887usb_bare
p54: LM86 firmware
p54: not all required entries found in eeprom!
p54: eeprom parse failed!
prism54usb: Invalid hwaddr! Using randomly generated MAC addr
phy0: Selected rate control algorithm 'pid'
phy0: hwaddr d2:98:c2:a4:1c:d5, isl3800
usbcore: registered new interface driver prism54usb
That looks even worse, than the thing I tried before, so I guess, I’ll have to resort to your e-mail offer.
mpref wrote:
> Hi Larry,
>
> I guess, I’ll have to get back to your offer about e-mailing you the
> .sys file. Though I tried to extract the firmwire driver myself via
> fwextract from the ‘prism 54 webpage’
> (http://lekernel.net/prism54/misc.html). Calling
>
> Code:
> --------------------
>
> ./fwextract PRISMA02.sys basename nobyteswap
You probably didn’t need the “nobyteswap”. That is used for PowerPC
processors. If you have an x86 CPU, it has the same byte ordering as
the Arm processor on the p54usb.
thanks for the remark. I tried without, but found otu that fwextract requires a value for the option. Either byteswap or nobyteswap. The latter gives me that infinte loop with (seemingly) useless output. The former gives me no output at all, ending with
ERROR: Unable to find the end of the firmware.
ERROR: No firmware found.